如何从数据表中设置DataGridViewComboBoxColumn中的值?

时间:2011-01-20 07:10:11

标签: c# windows winforms

DataGridViewComboBoxColumn dgvcb = (DataGridViewComboBoxColumn)grvPackList.Columns["Units"];
                Globals.G_ProductUtility G_Utility = new Globals.G_ProductUtility();
                dgvcb.DisplayStyle = DataGridViewComboBoxDisplayStyle.DropDownButton;
                G_Utility.addUnittoComboDGV(dgvcb);
                DataSet _ds = iRawMaterialsRequest.Select();
                grvPackList.DataSource = _ds.Tables[0];

问题是数据网格中的DataGridViewComboBoxColumn未使用表中的值进行选择如何从datasoure设置DataGridViewComboBoxColumn的值

int i=0;
                foreach (DataRow dgvr in  _ds.Tables[0].Rows )
                {
                    grvPackList.Rows[i].Cells["Units"].Value = dgvr["Units"].ToString();
                    i++;
                }

这段代码正在运行,但有没有使用循环的解决方案?

2 个答案:

答案 0 :(得分:2)

int i=0; 
 foreach (DataRow dgvr in  _ds.Tables[0].Rows )
                {
                    grvPackList.Rows[i].Cells["Units"].Value = dgvr["Units"].ToString();
                    i++;
                }

当我尝试这个时它工作得很好

答案 1 :(得分:1)

您可以将DataGridViewComboBoxColumn直接绑定到数据源,如

DataGridViewComboBoxColumn dgvcb = (DataGridViewComboBoxColumn)grvPackList.Columns["Units"];
dgvcb.ValueMember = "YourUnitValue"; 
dgvcb.DisplayMember = "Units";
dgvcb.DataSource = _ds.Tables[0];