我正在尝试从dataGridView创建一个包含checkboxcolumn的自定义控件。我添加了代码来生成它,并在新项目中将新创建的checkBoxDataGridView添加到我的表单中。
我有两个问题:
1。当我在设计时打开并关闭包含新checkBoxDataGridView的表单时,第二次添加该列。您将在我的代码中看到我已尝试多次检查,现在已注释掉,因此它不会在设计时第二次或多次添加列。也只需要在设计时添加它,如果我检查它是否已经添加,我想这没问题。
2. 复选框列不会实例化我在控件类中给出的名称。例如: col.Name =“dgvTickCol”
public class CheckBoxDataGridView : DataGridView
{
public CheckBoxDataGridView()
{
AddCheckColumn();
}
private void AddCheckColumn()
{
//if (LicenseManager.UsageMode == LicenseUsageMode.Designtime)
//if (!Columns.Contains("dgvTickCol"))
//if (this.Rows[0].Cells["dgvTickCol"].Value != null)
//if (this.Rows[0].Cells["dgvTickCol"].ColumnIndex == -1)
//{
DataGridViewColumn col = new DataGridViewCheckBoxColumn();
col.Name = "dgvTickCol";
col.HeaderText = "";
col.SortMode = DataGridViewColumnSortMode.NotSortable;
Columns.Add(col);
// }
}
}