以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [分享]利用窗口创建表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=9520)

--  作者:blackzhu
--  发布时间:2011/4/19 21:00:00
--  [分享]利用窗口创建表
  经过狐爸的引导,终于在C版的示例的基础上成功的改成了一个利用窗口生成表的例子.现发上来分享一下.

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:动态创建表布版.table
[此贴子已经被作者于2011-4-20 16:59:04编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/4/19 21:49:00
--  

加上黑体的这行代码,你就知道原因了:

For Each dr As DataRow In DataTables("基础设置").DataRows
    messagebox.show(dr("列类型"))
    If dr("表名") = Name Then
        If dr("列类型") = 0 Then
            tbl.AddColumn(dr("列名"),dr("列类型"),dr("字符长度"))
        Else
            tbl.AddColumn(dr("列名"),dr("列类型"))
        End If
    End If
Next

 

列类型不是用“字符型”、“日期型”这种字符表示的,而是用ADOXType.String,ADOXType.DateTime这种形式表示的。


--  作者:blackzhu
--  发布时间:2011/4/20 7:10:00
--  
我看看.
--  作者:blackzhu
--  发布时间:2011/4/20 7:25:00
--  
以下是引用狐狸爸爸在2011-4-19 21:49:00的发言:

加上黑体的这行代码,你就知道原因了:

For Each dr As DataRow In DataTables("基础设置").DataRows
    messagebox.show(dr("列类型"))
    If dr("表名") = Name Then
        If dr("列类型") = 0 Then
            tbl.AddColumn(dr("列名"),dr("列类型"),dr("字符长度"))
        Else
            tbl.AddColumn(dr("列名"),dr("列类型"))
        End If
    End If
Next

 

列类型不是用“字符型”、“日期型”这种字符表示的,而是用ADOXType.String,ADOXType.DateTime这种形式表示的。





   不对呀,原来的例子是可以做的呀!你看C版的例子.我只是加了输入窗口框而已.


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:动态创建表.table



--  作者:狐狸爸爸
--  发布时间:2011/4/20 7:34:00
--  

人家的列类型设置了数据字典,已经将字符型转换为每个列类型对应的整数。

你看看列属性就明白了的。

[此贴子已经被作者于2011-4-20 7:34:09编辑过]

--  作者:blackzhu
--  发布时间:2011/4/20 7:49:00
--  
我仔细看了一下,因为C版的例子的表输入列类型,在列属性中用的是数据字典,但是窗口中ComboBox2中是不能用数据字典的,只能用项目列表.我不知道是怎么回事?将表的列属性也改成项目列表也是不能生成表,只有用数据字典才有用.我来改成下拉窗口试试看.
--  作者:blackzhu
--  发布时间:2011/4/20 7:50:00
--  
以下是引用狐狸爸爸在2011-4-20 7:34:00的发言:

人家的列类型设置了数据字典,已经将字符型转换为每个列类型对应的整数。

你看看列属性就明白了的。


我已经看到了!


--  作者:blackzhu
--  发布时间:2011/4/20 8:17:00
--  
ComboBox2不能使用数据字典,如果像今日这种情况怎么办呢?
--  作者:狐狸爸爸
--  发布时间:2011/4/20 8:30:00
--  

用Select Case,将字符转换为列类型:

 

Dim d As ADOXType
Dim c As string = "字符型"
Select Case c
     case “字符型”
         d = ADOXType.String
     case “双精度小数"
         d = ADOXType.Double

     ....

End Select


--  作者:blackzhu
--  发布时间:2011/4/20 11:11:00
--  
收藏一下,但是C版的例子简单的多.