请高手帮忙,我在datagridview控件中添加了combobox控件列,但是初始化时无法显示combobox控件中的内容.combobox控件是通过DataGridViewComboBoxColumn 类创建的.
解决方案 »
- 求winform自带最大最小化方法
- 异常详细信息: System.Data.SqlClient.SqlException: 第 1 行: '1' 附近有语法错误。
- 跳到下个对话框后自动关闭已有的对话框
- 新手请教 如何调用这个函数?
- session设置timeout=120分钟,在50分钟之内起作用,超过50就失效
- 有很多参数的select查询,应该如何实现呢?
- 如何在DataGrid里根据某一列的值是空来把该行数据变个颜色显示
- 对象中属性不希望被序列化,如何设置
- 在线等待,求解递归代码段错在何处?
- c# AES加密与java的不同;
- 如何实现到邮箱激活这个功能
- C# 窗体如何在ctrl+tab 中隐藏
还有麻烦你贴一下DataGridViewComboBoxColumn的代码
newcom = new DataGridViewComboBoxColumn(); //新加 this.dataGridView1.Columns.Insert(10, newcom);
newcom.HeaderText = "批准标示";
DataTable dt = Fillcmb();
if (dt.Rows.Count > 0)
{
newcom.DataSource = dt;
newcom.ValueMember = "frgkz";
newcom.DisplayMember = "fkztx";
// if (newcom.Items.Count > 0)
// { newcom.Items[0] = true; }
}
newcom.Name = "info";
// newcom.DataPropertyName = "fkztx";//将ComboBox列的单元格的实际值绑定到DataGridView控件本身的数据源.
newcom.DisplayStyle = DataGridViewComboBoxDisplayStyle.DropDownButton;
为了描述方便,我截取的关键部分代码,设置DataPropertyName这个属性没用的,有个办法可以实现,就是调用datagridview控件的EditingControlShowing()事件,但是,在调用时不知道怎么传参数.还请多多指教哦!
如果你对valuemember 没有要求的话就用下面的方法。
真是不好意思,让你贴代码,没能给出好的答案。
DataGridViewComboBoxColumn cbcm1 = new DataGridViewComboBoxColumn();
cbcm1.HeaderText = "测试";
cbcm1.Items.Clear();
string[] array = new string[ds.Tables[0].Rows.Count];
for (int i = 0; i < array.Length; i++)
{
array[i] = ds.Tables[0].Rows[i]["name"].ToString();
}
cbcm1.Items.AddRange(array);
cbcm1.DataPropertyName = "数据库语句字段名";
//美化
cbcm1.DisplayStyle = DataGridViewComboBoxDisplayStyle.ComboBox;
cbcm1.DisplayStyleForCurrentCellOnly = true;
gridProject.Columns.Insert(5, cbcm1);