比如,我期望在DataGridView的某一列的Cell中,显示一系列较为复杂的元素,比如有Checkbox,有下拉框,同时兼有文本和图片,文本可能会有多行。
换句话说,我可能期望在Cell中放入一个Panel,这个panel中我可以自由组合摆放按钮,下拉框,图片等各种元素。
我该如何在C#代码里实现
换句话说,我可能期望在Cell中放入一个Panel,这个panel中我可以自由组合摆放按钮,下拉框,图片等各种元素。
我该如何在C#代码里实现
你可以在程序中针对单个单元格添加控件啊。在我空间中可以看到在程序中为单元格添加任意控件。
http://hi.baidu.com/wangcaidpj219x/blog/item/44d6a730bf923514ebc4af89.html
{
//控制是那一列
if (dataGridView1.CurrentCell.ColumnIndex == 0 && dataGridView1.CurrentCell.RowIndex != -1)
{
//在这里弹出含有复杂元素的窗体,其显示位置通过e.Control位置来确定,下面是弹出下拉框
ComboBox com = new ComboBox();
com.Location=e.Control.Location;
com.Items..AddRange( new string[] { "Mr.", "Ms.", "Mrs.", "Dr." });
com.SelectedValueChanged+=new EventHandler(com_SelectedValueChanged);
}
} void dataGridView1_SelectedValueChanged(object sender, EventArgs e)
{
object val=(sender as ComboBox).SelectedValue; //这里便可以获得下拉框选择的值
}弹出其他的窗体,也是类似的。。