none
如何将表结构信息加到combobox 控件中? RRS feed

  • 问题

  • 需求是这样的:

    做一个筛选数据的对话框,用户输入筛选条件后,返回调用窗体,对本地数据进行筛选,刷新窗体的DataGridView。

    这个对话框中,有一个combobox 控件,显示父窗体中表的字段信息,供用户选择,构造条件表达式。

    这个combobox ,需要存储表结构信息:字段名、字段标题、数据类型、宽度等,该如何把这些信息加到combobox 中呢?

     

    2010年5月31日 8:39

答案

  • 你好,

    用Sql语句:Select * from TableName where 1=2得到一个空的只有表结构的Table。用DataAdapter.Fill来保存这个返回的table到DataTable, 循环取DataTable的Column Name来构造ComboBox的Items。就这样做,有什么不明白的吗?


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework!
    • 已标记为答案 大海怪 2010年6月2日 22:49
    • 取消答案标记 大海怪 2010年6月2日 22:49
    • 已标记为答案 大海怪 2010年6月2日 22:52
    2010年6月2日 9:30

全部回复

  • 你好!

        我感觉你可以用多个ComboBox,每个ComboBox绑定一个字段,然后让用户选择筛选就可以了!

        一个ComboBox怎么能显示这么多信息呢!


    周雪峰
    2010年5月31日 10:18
    版主
  • 谢谢!

    我不是要显示字段内容,而是要显示字段名或字段标题,以此构造条件表达式。

    如表有3列:ID(编号,Intger)、Name(名称,String)、Adress(地址,String)

    在ComboBox中,将这3项内容显示在下拉菜单中,然后,可以再搞一个ComboBox,作为操作符:><=...,最后搞一个TextBox,供用户输入数字或字符

    以此构造一个条件表达式:name="ABC",或者 ID>100,等,放在filter属性中,筛选数据。

    因为要根据父窗体中表的结构而动态显示ComboBox的内容,所以,得搞成个活的,根据表结构,添加comboBox项,如何写代码?

    主要是我不知道表结构信息,在用集合,还是用数组(数值好象不能存放不同类型的数据)?如果用集合,该怎么写?看了半天帮助,不太懂。

    另外,如何将这些信息在不同窗体间传递?show()好象不支持参数?

    2010年5月31日 10:54
  • 你好!    根据父窗体中表的结构而动态显示ComboBox的内容,具体是怎样的?我没有理解!
    周雪峰
    2010年5月31日 11:20
    版主
  • 你好,

    用Sql语句:Select * from TableName where 1=2得到一个空的只有表结构的Table。用DataAdapter.Fill来保存这个返回的table到DataTable, 循环取DataTable的Column Name来构造ComboBox的Items。就这样做,有什么不明白的吗?


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework!
    • 已标记为答案 大海怪 2010年6月2日 22:49
    • 取消答案标记 大海怪 2010年6月2日 22:49
    • 已标记为答案 大海怪 2010年6月2日 22:52
    2010年6月2日 9:30