dataGridView ComboBoxColumns问题
我有一个DataGridView,有一列为ComboBoxColumns,我想实现一种效果,在ComboBox下拉选项前,添加一个复选框,可以进行多选,将选择的数据,以逗号形式写入ComboBox中。 --------------------编程问答-------------------- 在ComboBox下拉选项前,添加一个复选框,可以进行多选,将选择的数据???? --------------------编程问答-------------------- 太晕了,没明白意思 --------------------编程问答-------------------- CheckedListBox 控件 是不是和你的意思一样 --------------------编程问答-------------------- 就是DataGridViewComboboxColumns 列类型, --------------------编程问答-------------------- 你自己写一个多选的ListBox,Visible设为False,然后吧DataGridView对应的列设为只读。然后在你的DataGridView.CellEnter事件里把这个ListBox显示出来,在CellLeave里把选择的项再填进去就行了。
大概例子
private void myDGV_CellEnter(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 2 || e.ColumnIndex == 3) //要使用自定义控件的列
{
Rectangle rect = dGVCarTrans.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, true);
//下面的lB就是那个能多选的ListBox
lB.Size = new Size(rect.Width, rect.Height*11);//lB一次显示10行
lB.Location = new Point(rect.Left, rect.Top);
//如果要动态添加lB的内容,在这里做
lB.SelectItems.Clear();
lB.Visible = true;
}
else dp.Visible = false;
}
private void myDGV_CellLeave(object sender, DataGridViewCellEventArgs e)
{
string value="";
if (e.ColumnIndex == 2 || e.ColumnIndex == 3)
{
foreach(string item in lB.SelectedItems)
{
if(value=="") value+=item;
else value+=", "+item;
}
myDGV.CurrectCell.Value=value;
}
}
补充:.NET技术 , C#