如何在datagridview的同一单元格中添加复选框和标签?
嗨,程序员们, 我需要在同一单元格中添加复选框和标签。我知道怎么做。我可以将datagridviewcolumn设置为复选框,但它只显示复选框,没有显示标签的位置。有人能把我从噩梦中叫醒吗?如何在datagridview的同一单元格中添加复选框和标签?,datagridview,datagridviewcheckboxcell,Datagridview,Datagridviewcheckboxcell,嗨,程序员们, 我需要在同一单元格中添加复选框和标签。我知道怎么做。我可以将datagridviewcolumn设置为复选框,但它只显示复选框,没有显示标签的位置。有人能把我从噩梦中叫醒吗? 提前谢谢。我不相信使用开箱即用的CheckBoxCell就可以做到这一点 下面是一个实现,它对复选框列进行子类化,并进行一些自定义绘制来绘制标签。可以通过各种方式对此进行扩展,例如为标签文本提供绑定(目前需要直接设置标签文本)。我的代码大量借用了 下面是显示用法的代码: private void Form1
提前谢谢。我不相信使用开箱即用的CheckBoxCell就可以做到这一点 下面是一个实现,它对复选框列进行子类化,并进行一些自定义绘制来绘制标签。可以通过各种方式对此进行扩展,例如为标签文本提供绑定(目前需要直接设置标签文本)。我的代码大量借用了 下面是显示用法的代码:
private void Form1_Load(object sender, EventArgs e)
{
MyDGVCheckBoxColumn col = new MyDGVCheckBoxColumn();
col.Label = "hippo";
col.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
this.dataGridView1.Columns.Add(col);
this.dataGridView1.RowCount = 5;
foreach (DataGridViewRow row in this.dataGridView1.Rows)
{
if (row.Index % 2 == 0)
{
((MyDGVCheckBoxCell)row.Cells[0]).Label = "kitten";
}
}
}
您可以使用模板列。把这两个控件都放到winforms中。它在那里可用吗?非常感谢你的帮助。这节省了我的时间。我想问的一件事是,如何在更改DataGridViewCheckBox的checkState时创建事件。@PrakashKunwar为此,你可以使用celldirtystatechanged事件(有其他方法,但我发现这个方法通常是最好的)看看这个问题
private void Form1_Load(object sender, EventArgs e)
{
MyDGVCheckBoxColumn col = new MyDGVCheckBoxColumn();
col.Label = "hippo";
col.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
this.dataGridView1.Columns.Add(col);
this.dataGridView1.RowCount = 5;
foreach (DataGridViewRow row in this.dataGridView1.Rows)
{
if (row.Index % 2 == 0)
{
((MyDGVCheckBoxCell)row.Cells[0]).Label = "kitten";
}
}
}