我在列附近添加了Checkboxcolumn。 我在网上搜索了很多,但我找不到一个好的答案。
如果选中复选框计数最多为1,我想要Btn_Edit.Visiable=false;
。
在我的研究之后,我转到使用CellContentClick事件,但它没有正常工作。
我的代码:
private void GrdVw_Reception_CellContentClick_1(object sender, DataGridViewCellEventArgs e)
{
if (GrdVw_Reception.CurrentCellAddress.X == 0)
{
int UpTpOne = 0;
bool flag = false;
for (int i = 0; i < GrdVw_Reception.Rows.Count; i++)
{
if (Convert.ToBoolean(GrdVw_Reception.Rows[i].Cells["checkColumn"].Value) == true)
{
UpTpOne = UpTpOne + 1;
if (UpTpOne == 1)
{
flag = true;
}
else
{
flag = false;
}
}
}
if (flag == true)
{
Btn_Edit.Visible = true;
}
else
{
Btn_Edit.Visible = false;
}
}
}
在此步骤中,当我运行程序并单击第一个Btn_Edit的复选框时,不要转到true,对于secound,单击Btn_Edit.Visiable转到true。
我想要checkchange事件或当我点击复选框时转到事件代码的事件。
(抱歉英语不好)
答案 0 :(得分:0)
我自己证明了这一点并且必须这样做才能发挥作用:
private void GrdVw_Reception_CellClick(object sender, DataGridViewCellEventArgs e)
{
if(e.ColumnIndex == TheColumnIndexOfTheCheckBoxColumn){
bool currentValue = !(bool)GrdVw_Reception.Rows[e.RowIndex].Cells[0].Value;
GrdVw_Reception.Rows[e.RowIndex].Cells[0].Value = currentValue;
GrdVw_Reception.EndEdit();
MessageBox.Show("Value " + currentValue.ToString());
}
}
当偶数点击发生时,值没有变化,因此,我自己更改了它并调用了dataGridView的EndEdit()方法。它的工作方式。
答案 1 :(得分:0)
org.neo4j.ogm.config.Configuration configuration = new org.neo4j.ogm.config.Configuration();
// Register your configuration here, this will confuse OGM so the driver you set below won't be destroyed
Components.configure(configuration);
// Register your driver
EmbeddedDriver driver = new EmbeddedDriver(graphDatabaseService());
Components.setDriver(driver);
// Set driver class name so you won't get NPE
configuration.driverConfiguration().setDriverClassName("org.neo4j.ogm.drivers.embedded.driver.EmbeddedDriver");
// Configure auto index
configuration.autoIndexConfiguration().setAutoIndex("assert");
return new SessionFactory(configuration, "com.example");
在此代码中,我通过代码将checkbox的值设置为true,然后计算已检查的checkboxescell的数量。 我希望看到Btn_Edit可以看到假如果选中的复选框号码是1并且......
你应该勾选复选框勾选并将单元格的值设置为true,因为当你首先点击gridviewcellcheckbox时,该行将进入选择状态并在secound中单击该值将为true。
我搜索了很多,但无法得到任何好的答案,如果您有任何好主意,请致电我,这个代码总是我的想法。