C#中如何将datagridview中某一列的值不重复的显示到一个combobox中

datagridview中可以显示所有的记录,比如一个字段是存放名字的,有不同的名字。有一个combobox控件,点击这个combobox,要出现datagridview中所有已经存在的名字以供选择。

以下方法是实现将界面上的dataGridView1控件中第一列的值填充到界面上的comboBox控件中的,,重复的值是不会添加的。在窗体的启动事件中调用此方法就可以了,如果是取其它列的值,修改“Cells[0]”的值就可以了;
private void getName()
{
List<string> lsName=new List<string>;
for(int i=0;i<this.dataGridView1.Rows.Count;i++)
{
string name=this.dataGridView1.Rows[i].Cells[0].Value.ToString();
if(lsName.Contains(name))
{
continue;
}
else
{
lsName.Add(name);
}
}
this.comboBox.DataSource=lsName;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-26
把datagridview的数据付给datatable,然后绑定给combox。
comboBox1.DataSource = dt;
comboBox1.DisplayMember = "name"; //要显示的字段名
//如果是Web程序的话,加上comboBox1.DataBind();
第2个回答  2012-04-26
读取datagridview的数据源数据,如是DataTable,使用DataTable的Select方法找到存放名字的字段内容。过滤重复的的绑定到ComboBox中。追问

可以再具体一些吗?因为过程我大概懂了,但是实现上还有问题,谢谢

第3个回答  2012-04-28
你可以用combobox的dropdown和dropdownclosed两个事件去将数据绑定到控件中,这个倒是做过

C#中如何将datagridview中某一列的值不重复的显示到一个combobox中
以下方法是实现将界面上的dataGridView1控件中第一列的值填充到界面上的comboBox控件中的,,重复的值是不会添加的。在窗体的启动事件中调用此方法就可以了,如果是取其它列的值,修改“Cells[0]”的值就可以了;private void getName(){ List<string> lsName=new List<string>;for(int i=0;i<...

c#中combox里绑定datagridview中的某一列的值,并显示在combox的下拉框中...
combox也有DataSource属性,直接把dataGridView1第一列的集合赋给combox就可以了,然后给combox的comboBoxGroup.ValueMember = "列名";属性赋值,两行代码就能搞定,不需要循环!

C# 如何在一个Datagridview 的 某一个cell里面 绑定一个自定义的combo...
\/\/ 然后,在这个事件处理函数中做绑定的处理,我这段代码是动态的改变一个cell的值,并修改对齐方式。你可以改成绑定新Cell的操作。private void editingControl_DropDownClosed(object sender, EventArgs e){ DataGridViewComboBoxEditingControl ctl = sender as DataGridViewComboBoxEditingControl;DataRowView...

C#的DataGridView中怎么为一列加一个Combox的控件效果如图
用拖动绑定数据源,表A用默认的网格控件即DataGridView,展开表A节点,最后一列是表B的可展开的节点,即表A中的表B节点,选择表B显示列是客户姓名,控件是ComboBox。拖动表A到窗体,显示DataGridView控件,拖动表B到DataGridView的外键列客户ID。参见博客,百度danyaody,第13章例13-6。

C#在DataGridView控件中的一个指定的单元格加ComboBox
DataGridViewComboBoxCell cb= new DataGridViewComboBoxCell();\/\/给下拉框赋值: dt包含ID和Name两列,也可以自己在属性Items里直接添加下拉框显示的每一项 cb.DataSource = dt;cb.DisplayMember = "Name";cb.ValueMember = "ID";DataGridView.Rows[i].Cells[j]=cb;DataGridView.Rows[i].Cells[...

C#中如何将一个comboBox组件放置dataGridView组件中的某一个确定的单 ...
WinForm的DataGrid要显示ComboBox的效果必须要写一个继承自DataGridTextBoxColumn的类, 并在其中制作ComboBox的功能, 再把这个类的对象加入到DataGrid中使用即可, 做法如下:DataGridComboBoxColumn ComboCol =new DataGridComboBoxColumn();ComboCol.MappingName = "RegionID";ComboCol.HeaderText = "Region";...

C# DataGirdView 数据绑定后DataGridViewTextBoxColumn列转换成DataG...
貌似不可以,你都绑定数据了,设定这个cell的值了,怎么再换成ComboBox ?补充:我试验了一下,拖了个.DataGridView控件,第一列是DataGridViewTextBoxColumn,第二列是DataGridViewComboBoxColumn,然后在Designer.cs里面代码是这样的 private System.Windows.Forms.DataGridViewTextBoxColumn Column1;private ...

如何设置datagridview列为combobox
代码添加 With Me.DataGridView1 .Columns.Add(New DataGridViewComboBoxColumn)End With 或者设计时在datagridview上右键添加列,然后指定列名,并指定类型为DataGridViewComboBoxColumn

c#里点击datagridview中的下拉列表中的文字怎么设置弹出窗体
首先,在 DataGridView 中添加了一个带有下拉列表的列。然后,我们设置了 CellClick 事件处理程序 DataGridView_CellClick。在该事件处理程序中,我们首先检查是否单击了下拉列表单元格。如果是,则将 dataGridView.EditingControl 转换为 DataGridViewComboBoxEditingControl,以获取实际的 ComboBox 编辑控件。接...

datagridview 和combox等控件关联(c# form)
设置一个全局变量 DataTable dt = new DataTable(),表dt含两列 ID int Name Varchar 作为datagridview 和combox的数据源 绑定数据,dataGridView1.DataSource = dt;comboBox1.DataSource = dt;comboBox1.DisplayMember = "Name";comboBox1.ValueMember = "ID";dataGridView1的CellMouseDoubleClick...

相似回答