我在C#中有一个WinForms应用程序,它在DataGridView中注册支持票证,每个票证都有一个状态,可能是待处理或已完成。我想实现一个方法来验证票证是否完成,然后无法修改此记录。我尝试的是比较DataGridView的Status列的每一行中的单元格的值与字符串,如果它们相等,则禁用更新注册表值的按钮。我知道它必须有其他方式,但我是一个新手。
<li>
<div id="1" class="w20" style="float:left">Should take 20%</div>
<div id="2" class="w30" style="float:left">Should take 30%</div>
<div id="3" style="float:left;width:2em;background-color:yellow;">Something</div>
<div id="4" style="float:left;width:1em;background-color:orange;"> / </div>
<div id="5" style="float:left;width:2em;background-color:red;">Something</div>
<div id="6" class="w30" style="float:left">Should take 30%</div>
<div id="7" class="w20" style="float:left">Should take 20%</div>
</li>
.w20
{
background-color:green;
width: -moz-calc((100% - 5em) * 0.2);
/* WebKit */
width: -webkit-calc((100% - 5em) * 0.2);
/* Opera */
width: -o-calc((100% - 5em) * 0.2);
/* Standard */
width: calc((100% - 5em) * 0.2);
}
.w30
{
background-color:blue;
width: -moz-calc((100% - 5em) * 0.3);
/* WebKit */
width: -webkit-calc((100% - 5em) * 0.3);
/* Opera */
width: -o-calc((100% - 5em) * 0.3);
/* Standard */
width: calc((100% - 5em) * 0.3);
}
这是我尝试过的,但什么也没做。你能帮帮我吗?或者就如何完成我需要的东西给我一些建议。
答案 0 :(得分:0)
使用RowEnter事件:
private void DataGridView1_RowEnter(object sender,DataGridViewCellEventArgs e)
{
btnUpdate.Enabled=!DataGridView1.Rows[e.RowIndex].Cells[10].Value.ToString().Equals("Completed") ;
}
也许,在填写gridview之后需要以下内容 (我不记得在初始化时是否引发了RowEnter事件。)
btnUpdate.Enabled=DataGridView1.CurrentRow!=null &&
!DataGridView1.CurrentRow.Cells[10].Value.ToString().Equals("Completed")