以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何用代码变更表的列的类型?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=45719)

--  作者:kolen
--  发布时间:2014/2/9 21:08:00
--  [求助]如何用代码变更表的列的类型?
]如何用代码变更表的列的类型?假设原来是字符型,用代码,将这一列改成日期型。
--  作者:kolen
--  发布时间:2014/2/9 21:20:00
--  

我的用处是:

Dim frm As winform.Form = e.Form
Dim Tbl As Table = frm.Controls("Table2").Table
Dim dtb As New DataTableBuilder("px")
dtb.AddDef("_Identify", Gettype(Integer))
dtb.AddDef("_Sortkey", Gettype(Double))

 

dtb.AddDef("glCol", Gettype(String),100,"","查询字段")
dtb.AddDef("glMath", Gettype(String),100,"","操作符")
dtb.AddDef("glValue", Gettype(String),250,"","值")
dtb.AddDef("glType", Gettype(String),100,"","逻辑")
Tbl.DataSource = dtb.BuildDataSource

 

当表Tbl中,列“查询字段”,选出的字段为表A,的“日期”列(此时查询字段的值为“日期”),那么想让表Tbl的“值”这一列启用内置输入器,来帮助用户输入,但是内置输入器有个条件,使用必须列类型是“日期或数字”,而我建立Tbl的时候定义的类型是字符:dtb.AddDef("glValue", Gettype(String),250,"","值")

这个需求该如何设计好呢

[此贴子已经被作者于2014-2-9 21:21:40编辑过]

--  作者:有点甜
--  发布时间:2014/2/9 21:21:00
--  
 别想了,怎么会提供你这个方法。

 最多这样,动态新增一个列,然后重启项目,然后把数据拷贝过去。


 不过,如果外部数据源,可以通过sql语句去修改数据库的表结构的,语法可以自己查一下,代码类似 alter Table ...

--  作者:kolen
--  发布时间:2014/2/9 21:28:00
--  


图片点击可在新窗口打开查看此主题相关图片如下:截图00.png
图片点击可在新窗口打开查看

 

这个需求类似于,狐表里面的“高级筛选”,当选出日期类的列时候,内容那里现了图片中红圈的东西,我是想出现“内置输入器”,可以更直接方便。

如果不行,那红圈这样的-----是如何生成的呀

[此贴子已经被作者于2014-2-9 21:36:33编辑过]

--  作者:有点甜
--  发布时间:2014/2/9 21:48:00
--  
 哦,原来是这个需求。这个可以实现,不过需要用到原始的c1的控件,狐表本身不提供这样的方法。

 天问弄过这个东西,你可以去问下他。

--  作者:有点甜
--  发布时间:2014/2/9 21:50:00
--  
 也可以用笨一些的方法——动态生成一行控件。根据不同的需要生成需要的控件。