C# 如何基于gridview值启用按钮?

C# 如何基于gridview值启用按钮?,c#,button,gridview,C#,Button,Gridview,我在SQL中有一列: 地位 打开 接近 和具有Boundfield值='Status'的Gridview 当用户选择一行并且状态==打开时,它应该显示一个按钮。否则,它就隐藏起来了 protectedvoid GridView1\u SelectedIndexChanged(对象发送方,事件参数e) { 字符串y=Data.Rows[GridView1.SelectedIndex][5].ToString(); 如果(y=“打开”) { btnacept.Visible=true; } 其他的

我在SQL中有一列:

地位

打开 接近

和具有Boundfield值='Status'的Gridview

当用户选择一行并且状态==打开时,它应该显示一个按钮。否则,它就隐藏起来了

protectedvoid GridView1\u SelectedIndexChanged(对象发送方,事件参数e)
{
字符串y=Data.Rows[GridView1.SelectedIndex][5].ToString();
如果(y=“打开”)
{
btnacept.Visible=true;
}
其他的
{
btnacept.Visible=false;
}

}
像这样修改代码

string y = GridView1.SelectedRow.Cells[5].Text;

像这样修改代码

string y = GridView1.SelectedRow.Cells[5].Text;

这可能是解决方案:

string y = GriView1.SelecteRows[0].Cells[5].Value.ToString();

这可能是解决方案:

string y = GriView1.SelecteRows[0].Cells[5].Value.ToString();

这与直觉相反,但GridView1.SelectedRow只有在SelectedIndexChanged完成后才会设置

此外,可见性与按钮的启用或禁用无关。 使用按钮的Enabled属性:

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
  GridView gv = (GridView) sender ;
  btnAccept.Enabled = (gv.Rows[ gv.SelectedIndex ].Cells[5].Text == "open"); 
}

此外,如果还没有,请考虑CSS:样式禁用按钮:

input[type=button][disabled], 
button[disabled] 
{
    cursor:not-allowed;
}

这与直觉相反,但GridView1.SelectedRow只有在SelectedIndexChanged完成后才会设置

此外,可见性与按钮的启用或禁用无关。 使用按钮的Enabled属性:

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
  GridView gv = (GridView) sender ;
  btnAccept.Enabled = (gv.Rows[ gv.SelectedIndex ].Cells[5].Text == "open"); 
}

此外,如果还没有,请考虑CSS:样式禁用按钮:

input[type=button][disabled], 
button[disabled] 
{
    cursor:not-allowed;
}

问题是???它不起作用。该按钮始终处于启用状态。即使visible=trueVisibility与按钮的启用或禁用无关。使用按钮的Enabled属性:
btnacept.Enabled=(y=“open”)同时,如果还没有,请考虑使用CSS <代码>输入[类型=按钮] [禁用]的样式禁用按钮,…{cursor:not allowed;}
问题是???它不工作。该按钮始终处于启用状态。即使visible=trueVisibility与按钮的启用或禁用无关。使用按钮的Enabled属性:
btnacept.Enabled=(y=“open”)同时,如果还没有,请考虑使用CSS <代码>输入[类型=按钮] [禁用]的样式禁用按钮,…{cursor:not allowed;}
它引发一个错误:object'不包含'Text'的定义,并且找不到接受'object'类型的第一个参数的扩展方法'Text'(是否缺少using指令或程序集引用?)它引发错误:对象“”不包含“Text”的定义,并且找不到接受类型为“object”的第一个参数的扩展方法“Text”(是否缺少using指令或程序集引用?)