DataGridViewComboBoxColumn SignsCondition = new DataGridViewComboBoxColumn();
SignsCondition.Items.Insert(0, "签收时间");
SignsCondition.Items.Insert(1, "签收时间");
SignsCondition.Items.Insert(2, "承运时间");
SignsCondition.Items.Insert(3, "结算公司");
SignsCondition.DataPropertyName = SignsCondition.Items[0].ToString();
datagridview.Columns.Add(SignsCondition);
18 个解决方案
#1
自己顶下.
#2
VS 2005里面好象很方便啊
#3
ComboBoxColumn没不支持此功能,但可通过转换成ComboBox实现:
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (dataGridView1.CurrentCell.ColumnIndex == 0) //判断是否ComboBoxColumn所在列
{
ComboBox cb = e.Control as ComboBox;
if (cb != null)
{
cb.SelectedValue=2;//设置默认值
}
}
}
#4
或者设置其绑定的数据源对应列的默认值也可以实现 如DataTable
#5
多谢楼上,可是我引用了你的代码后还是不行?另外我绑定的ComboBoxColumn列是在dataGridView1的第二列,第一列是DataGridViewCheckBoxColumn,会不会是和这个有关呢?
#6
还是不行啊,求高手们指教.
万分感谢了。
万分感谢了。
#7
呵呵,你把我代码中的这一句:if (dataGridView1.CurrentCell.ColumnIndex == 0)
改成:if (dataGridView1.CurrentCell.ColumnIndex == 1),才是判断第二列!
下标从0开始.
改成:if (dataGridView1.CurrentCell.ColumnIndex == 1),才是判断第二列!
下标从0开始.
#8
还是不行,默认项还是空的..
#9
我是直接指定單元格的值
//運算符默認值
foreach (DataGridViewRow cRow in dgvQuery.Rows)
{
cRow.Cells["FieldOrder"].Value = "asc";//排序默認值為生序
cRow.Cells["FieldLogic"].Value = "AND";//邏輯默認值為並且
}
拿兩列都是DataGridViewComboBoxColumn
//運算符默認值
foreach (DataGridViewRow cRow in dgvQuery.Rows)
{
cRow.Cells["FieldOrder"].Value = "asc";//排序默認值為生序
cRow.Cells["FieldLogic"].Value = "AND";//邏輯默認值為並且
}
拿兩列都是DataGridViewComboBoxColumn
#10
補充:DataGridViewComboBoxColumn都綁定了DataTable
#11
ding
#12
感谢hanjoe109,默认值显示出来了。
但是还有一点问题,就是当我把鼠标放到我绑定的FieldOrder列时,它就会弹出以下出错信息:
"System.ArgumentException: DataGridviewCoboBoxCell 值无效。
要替换此默认对话框,请处理 DataError 事件。"
这是怎么回事呢.虚心请教学习。
#13
也进来学习下
#14
dataGridView1[4, 2].Value = ((DataGridViewComboBoxCell)dataGridView1[4, 2]).Items[0].ToString();
设置第2行第5列的默认值为ComboBox中的第一项(Items[0]),此列为DataGridViewComboBoxCell。
搂主可参考下,不知是不是搂主想要的。
设置第2行第5列的默认值为ComboBox中的第一项(Items[0]),此列为DataGridViewComboBoxCell。
搂主可参考下,不知是不是搂主想要的。
#15
也进来学习下
#16
budong
#17
顶顶 呵呵
#18
<code>
if (dgr.Cells[5] is DataGridViewComboBoxCell)
{
DataGridViewComboBoxCell cbocell = dgr.Cells[5] as DataGridViewComboBoxCell;
if (cbocell != null)
{
RS_SysRuleCboItem def = new RS_SysRuleCboItem(rules[1]);//设置默认值
for (int j = 1; j < rules.Length; j++)
{//绑定数据
if(j==1)
{
cbocell.Items.Add(def);
}
else
cbocell.Items.Add(new RS_SysRuleCboItem(rules[j]));
}
cbocell.DisplayMember = "DisplayMember";
dgr.Cells[5].Value=def;//绑定默认值
}
}
</code>
#1
自己顶下.
#2
VS 2005里面好象很方便啊
#3
ComboBoxColumn没不支持此功能,但可通过转换成ComboBox实现:
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (dataGridView1.CurrentCell.ColumnIndex == 0) //判断是否ComboBoxColumn所在列
{
ComboBox cb = e.Control as ComboBox;
if (cb != null)
{
cb.SelectedValue=2;//设置默认值
}
}
}
#4
或者设置其绑定的数据源对应列的默认值也可以实现 如DataTable
#5
多谢楼上,可是我引用了你的代码后还是不行?另外我绑定的ComboBoxColumn列是在dataGridView1的第二列,第一列是DataGridViewCheckBoxColumn,会不会是和这个有关呢?
#6
还是不行啊,求高手们指教.
万分感谢了。
万分感谢了。
#7
呵呵,你把我代码中的这一句:if (dataGridView1.CurrentCell.ColumnIndex == 0)
改成:if (dataGridView1.CurrentCell.ColumnIndex == 1),才是判断第二列!
下标从0开始.
改成:if (dataGridView1.CurrentCell.ColumnIndex == 1),才是判断第二列!
下标从0开始.
#8
还是不行,默认项还是空的..
#9
我是直接指定單元格的值
//運算符默認值
foreach (DataGridViewRow cRow in dgvQuery.Rows)
{
cRow.Cells["FieldOrder"].Value = "asc";//排序默認值為生序
cRow.Cells["FieldLogic"].Value = "AND";//邏輯默認值為並且
}
拿兩列都是DataGridViewComboBoxColumn
//運算符默認值
foreach (DataGridViewRow cRow in dgvQuery.Rows)
{
cRow.Cells["FieldOrder"].Value = "asc";//排序默認值為生序
cRow.Cells["FieldLogic"].Value = "AND";//邏輯默認值為並且
}
拿兩列都是DataGridViewComboBoxColumn
#10
補充:DataGridViewComboBoxColumn都綁定了DataTable
#11
ding
#12
感谢hanjoe109,默认值显示出来了。
但是还有一点问题,就是当我把鼠标放到我绑定的FieldOrder列时,它就会弹出以下出错信息:
"System.ArgumentException: DataGridviewCoboBoxCell 值无效。
要替换此默认对话框,请处理 DataError 事件。"
这是怎么回事呢.虚心请教学习。
#13
也进来学习下
#14
dataGridView1[4, 2].Value = ((DataGridViewComboBoxCell)dataGridView1[4, 2]).Items[0].ToString();
设置第2行第5列的默认值为ComboBox中的第一项(Items[0]),此列为DataGridViewComboBoxCell。
搂主可参考下,不知是不是搂主想要的。
设置第2行第5列的默认值为ComboBox中的第一项(Items[0]),此列为DataGridViewComboBoxCell。
搂主可参考下,不知是不是搂主想要的。
#15
也进来学习下
#16
budong
#17
顶顶 呵呵
#18
<code>
if (dgr.Cells[5] is DataGridViewComboBoxCell)
{
DataGridViewComboBoxCell cbocell = dgr.Cells[5] as DataGridViewComboBoxCell;
if (cbocell != null)
{
RS_SysRuleCboItem def = new RS_SysRuleCboItem(rules[1]);//设置默认值
for (int j = 1; j < rules.Length; j++)
{//绑定数据
if(j==1)
{
cbocell.Items.Add(def);
}
else
cbocell.Items.Add(new RS_SysRuleCboItem(rules[j]));
}
cbocell.DisplayMember = "DisplayMember";
dgr.Cells[5].Value=def;//绑定默认值
}
}
</code>