C# 禁用从另一个gridview中的select填充的gridview中的按钮
下面是一个场景。我有两种观点。 例如,Gridview 1就是这样C# 禁用从另一个gridview中的select填充的gridview中的按钮,c#,asp.net,gridview,C#,Asp.net,Gridview,下面是一个场景。我有两种观点。 例如,Gridview 1就是这样 __________________________________ | select | cell 2 | cell 3 | 然后,当您单击单元格1中的“选择”时,它将填充Gridview 2 _______________________________ | cell 1 | cell 2 | BUTTON | 当第二个gridview加载时,如果单元格2中的值为真,我将尝试禁用按钮 我
__________________________________
| select | cell 2 | cell 3 |
然后,当您单击单元格1中的“选择”时,它将填充Gridview 2
_______________________________
| cell 1 | cell 2 | BUTTON |
当第二个gridview加载时,如果单元格2中的值为真,我将尝试禁用按钮
我已尝试使用rowdatabound事件禁用该按钮。
抓取具有以下内容的单元格文本信息
在aspx页面上
<asp:GridView ID="GridView10" runat="server" AutoGenerateColumns="False"
Font-Size="10px" CellPadding="2"
DataKeyNames="ID" DataSourceID="SqlDataSource35" Width="100%"
BorderColor="#CCCCCC" OnRowCommand="GridView10_RowCommand"
onrowdatabound="GridView10_RowDataBound"
正常情况下,这只会让人感觉很爽。但无论出于何种原因,在这种情况下,事件似乎并未发生。有人了解这个问题吗?你确定你有正确的Gridview单元格吗? 您可能使用了错误的单元格ID,其中
protected void GridView10_RowDataBound(object sender, GridViewRowEventArgs e)
{
string cellt = e.Row.Cells[CORRECT CELL?].Text;
if (cellt == "True")
{
Button btn = (Button)e.Row.Cells[CORRECT CELL?].Controls[1];
btn.Enabled = false;
}
}
如果这是正确的单元格,则只需更改“可见性”属性即可
Buttonname.visible=false
而且,
你可以这样做
protected void GridView10_RowDataBound(object sender, GridViewRowEventArgs e)
{
string cellt = e.Row.Cells[CORRECT CELL?].Tostring;
if (cellt != "True") continue;
{
Button btn = (Button)e.Row.Cells[CORRECT CELL?].Controls[1];
buttonname.visible = false;
break;
}
}
记住GridView从单元格0开始
因此,如果您将其作为单元格6,请确保您从单元格0开始-因此单元格6可能是单元格5
编辑,我注意到您询问某个单元格是否有特定文本,请使用上面显示的.Tostring。那么您是说您显示的RowDataBound事件根本不会触发?该事件是在标记中以反向方式附加到GridView的,还是在代码隐藏中以编程方式附加到GridView的?您可以使用templatefield并在按钮上设置Enabled=根据您在onrowdatabound中复制的代码判断intellisense没有拾取。。。。可以很容易地将外壳固定到OnRowDataBound@urbanlemur奇怪的是,尽管实际控件属性是区分大小写的,但这些事件委托属性并不区分大小写。urbanlemur:Good eye man。这就成功了+1给你。
protected void GridView10_RowDataBound(object sender, GridViewRowEventArgs e)
{
string cellt = e.Row.Cells[CORRECT CELL?].Tostring;
if (cellt != "True") continue;
{
Button btn = (Button)e.Row.Cells[CORRECT CELL?].Controls[1];
buttonname.visible = false;
break;
}
}