如何根据gridview值启用按钮?

时间:2017-02-01 08:44:50

标签: c# button gridview

我在SQL中有一个专栏:

状态

开 关闭

和Gridview with Boundfield value ='Status'

当用户选择一行并且Status == open时,它应该显示一个按钮。否则就是隐藏。

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
	string y = Data.Rows[GridView1.SelectedIndex][5].ToString();

	if (y == "open")
	{
		btnAccept.Visible = true;
	}
	else
	{
		btnAccept.Visible = false;
	}
}

 <asp:Button Text="Accept" OnClick="btnAccept_Click"  Visible="false" ID="btnAccept" runat="server" />

3 个答案:

答案 0 :(得分:0)

像这样修改你的代码

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

答案 1 :(得分:0)

这可能是解决方案:

JSON.parse

答案 2 :(得分:0)

这是违反直觉的,但是在SelectedIndexChanged完成之后才会设置GridView1.SelectedRow。

此外,可见性与“启用”或“已禁用”按钮无关。 使用按钮的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;
}
相关问题