ComboBox邦定DataSet的问题 -- 求ComboBox 控件高手指点~ -------急 cmb.ValueMember = ds.Tables[0].Columns[0].ColumnName.ToString(); cmb.DisplayMember = ds.Tables[0].Columns[1].ColumnName.ToString(); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 To: wxqq2001(就让我用一生等待)有没有 .Trim()不是这个问题的关键我的问题是多列的DataSet,如何运用ComboBox来实现邦定或怎么结合其他的控件来利用多列的DataSet cmb.DataSource = ds.Tables[0];cmb.ValueMember = ds.Tables[0].Columns[0].ColumnName; cmb.DisplayMember = ds.Tables[0].Columns[1].ColumnName; DataColumn nameColumn = New DataColumn(); nameColumn.ColumnName = "Column2"; nameColumn.DataType = System.Type.GetType("System.String") nameColumn.Expression = ds.Tables[0].Columns[0].ColumnName + ds.Tables[1].Columns[0].ColumnName ; ds.Tables[0].Columns.Add(nameColumn) ds.AcceptChanges(); myComboBox.DisplayMember = nameColumn.ColumnName; myComboBox.ValueMember = ds.Tables[0].Columns[2].ColumnName; myComboBox.DataSource = ds.Tables[0].DefaultView; 修正:nameColumn.Expression = ds.Tables[0].Columns[0].ColumnName + ds.Tables[0].Columns[1].ColumnName ; /// <summary> /// 绑定dropdownlist /// </summary> /// <param name="ddl_Bind">参与绑定的dropdownlist</param> /// <param name="strValueColumn">dropdownlist的value字段</param> /// <param name="strLabelColumn">dropdownlist的text字段</param> /// <param name="strOrderColumn">排序字段</param> /// <param name="strDefault">默认的text值</param> /// <param name="strTable">绑定的数据table</param> public static void DropDownListBind(DropDownList ddl_Bind,string strValueColumn,string strLabelColumn,string strOrderColumn,string strDefault,string strTable) { try { string strSql ="select "+strValueColumn+","+strLabelColumn+" from "+strTable+" order by "+strOrderColumn; DataTool m_DataTool = new DataTool(); DataTable m_dt= m_DataTool.GetDataTable(strSql,strTable); DataRow n_dr = m_dt.NewRow(); n_dr[strValueColumn]="-1"; n_dr[strLabelColumn]=strDefault; m_dt.Rows.Add(n_dr); m_dt.DefaultView.Sort=strValueColumn+" asc"; ddl_Bind.DataSource=m_dt.DefaultView; ddl_Bind.DataValueField = strValueColumn; ddl_Bind.DataTextField = strLabelColumn; ddl_Bind.DataBind(); ddl_Bind.SelectedIndex=-1; ddl_Bind.Items.FindByValue("-1").Selected=true; } catch(Exception Error) { ErrorManage.ThrowError(Error); } } 请大家再仔细读一下我的问题,我的问题是遇到多个字段的dataset,这个dataset无邦定到comboBox求帮助~谢谢 1)是不是ComboBox 只能邦定 只有1-2个字段的dataSet?不是,理论上可以无限。2)如何解决ComboBox 显示,或邦定多个字段的dataSet?我上面回答啦。3)是不是ComboBox 要结合其他的控件 ListView 或者 DataGrid?不需要。 楼主说的是多列的Combobox,valuemember和displaymember只显示一列多列是没有的,除非你自己写,偶下了一个称是多列的Combobox,但不好用,就是ComboBox加了一个listView To: alias88() 如何实现?能让小弟一见这样的组合控件吗的原码吗? cmb.ValueMember = ds.Tables[0].Columns[0].ColumnName.ToString(); cmb.DisplayMember = ds.Tables[0].Columns[1].ColumnName.ToString();请楼主再看一下我的答案.好像并不是只去掉Trim()吧.试一下能不能用. C#实现录音机时的问题,HELP!! 问个开发问题 一个小问题 大家帮帮忙!谢谢啦! c# 代码位置的问题 如何往listview里添加数据 如果只返回一行数据,如何操作比较简单? 把这个方法优化下..............................(人在线) TreeViewItem的顺序调整(WPF) 如何使用正则表达式限定TextBox的输入内容? 如何获得一个表中的几个列(要过滤掉一些) 关于smartclient的问题?? c#程序用水晶报表做打印。在win2000机器上安装运行正常,在win98上不能打印,何故?
To: wxqq2001(就让我用一生等待)有没有 .Trim()不是这个问题的关键我的问题是多列的DataSet,如何运用ComboBox来实现邦定或怎么结合其他的控件来利用多列的DataSet
cmb.ValueMember = ds.Tables[0].Columns[0].ColumnName;
cmb.DisplayMember = ds.Tables[0].Columns[1].ColumnName;
nameColumn.ColumnName = "Column2";
nameColumn.DataType = System.Type.GetType("System.String") nameColumn.Expression = ds.Tables[0].Columns[0].ColumnName + ds.Tables[1].Columns[0].ColumnName ;
ds.Tables[0].Columns.Add(nameColumn)
ds.AcceptChanges(); myComboBox.DisplayMember = nameColumn.ColumnName;
myComboBox.ValueMember = ds.Tables[0].Columns[2].ColumnName;
myComboBox.DataSource = ds.Tables[0].DefaultView;
/// 绑定dropdownlist
/// </summary>
/// <param name="ddl_Bind">参与绑定的dropdownlist</param>
/// <param name="strValueColumn">dropdownlist的value字段</param>
/// <param name="strLabelColumn">dropdownlist的text字段</param>
/// <param name="strOrderColumn">排序字段</param>
/// <param name="strDefault">默认的text值</param>
/// <param name="strTable">绑定的数据table</param>
public static void DropDownListBind(DropDownList ddl_Bind,string strValueColumn,string strLabelColumn,string strOrderColumn,string strDefault,string strTable)
{
try
{
string strSql ="select "+strValueColumn+","+strLabelColumn+" from "+strTable+" order by "+strOrderColumn;
DataTool m_DataTool = new DataTool();
DataTable m_dt= m_DataTool.GetDataTable(strSql,strTable);
DataRow n_dr = m_dt.NewRow();
n_dr[strValueColumn]="-1";
n_dr[strLabelColumn]=strDefault;
m_dt.Rows.Add(n_dr);
m_dt.DefaultView.Sort=strValueColumn+" asc";
ddl_Bind.DataSource=m_dt.DefaultView;
ddl_Bind.DataValueField = strValueColumn;
ddl_Bind.DataTextField = strLabelColumn;
ddl_Bind.DataBind();
ddl_Bind.SelectedIndex=-1;
ddl_Bind.Items.FindByValue("-1").Selected=true;
}
catch(Exception Error)
{
ErrorManage.ThrowError(Error);
}
}
请大家再仔细读一下我的问题,我的问题是遇到多个字段的dataset,这个dataset无邦定到comboBox求帮助~谢谢
不是,理论上可以无限。
2)如何解决ComboBox 显示,或邦定多个字段的dataSet?
我上面回答啦。
3)是不是ComboBox 要结合其他的控件 ListView 或者 DataGrid?
不需要。
cmb.DisplayMember = ds.Tables[0].Columns[1].ColumnName.ToString();请楼主再看一下我的答案.好像并不是只去掉Trim()吧.试一下能不能用.