c# combobox 绑定数据库 dataset 中多字段值

c# combobox 绑定数据库 dataset 中多字段值

我们想将ComboBox中绑定数据库中多个字段的值,或者说多表关联的值,操作如下:

先写一个方法如下:这个方法是将数据库绑定ComboBox

public void getGoodsAdd()
        {
            string str = "select * from Mn_Goods";
            DataSet dsclass = new DataSet();
            database da = new database();
            string tableName = "Goods";
            dsclass = da.getlist(str, tableName);  //注意这个getlist方法是在数据访问层,至于如何把数据绑定到DataSet这里不做过多解释
            this.indexCbGoodsAdd.DataSource = dsclass.Tables[tableName]; //绑定DATASET到COMBOBOX控件上
        this.indexCbFatherAdd.ValueMember = "ID"; //ID号
        }

下面是操作ComboBox的Format事件:

private void indexCbGoodsAdd_Format(object sender, ListControlConvertEventArgs e)
        {
            DataRowView myDataRowView = (DataRowView)(e.ListItem);  
            if (myDataRowView != null) 
            { 
                e.Value = String.Format("{0} | {1} | {2}",myDataRowView["字段名1"],myDataRowView["字段名2"],myDataRowView["字段名3"]); 



                //e.Value =    String.Format("{0} - {1} - {2:yyyy/MM/dd} - {3:NT$#,##000}",    myDataRowView["姓名"],    myDataRowView["性别"],    myDataRowView["出生日期"],    myDataRowView["目前薪资"]); }  //这段代码和上面是重复的,放在这里说明一下日期和RMB货币的表现方法

            }
        }

另外还是有一种方法如下:

private void CH3_DemoForm029_Load(object sender, EventArgs e)
{ 
     this.culturesCB.ValueMember = "LCID"; 
     this.culturesCB.DataSource =   CultureInfo.GetCultures(CultureTypes.FrameworkCultures);
}
private void culturesCB_Format(object sender, ListControlConvertEventArgs e)
{  
     CultureInfo ci = (CultureInfo)(e.ListItem);  
     if (ci != null) 
     {  
          e.Value = String.Format("{0} : {1}", ci.IetfLanguageTag, ci.DisplayName); 
     }
}

nathanma

leave a comment

Create Account



Log In Your Account