根据linkButton绑定的值改变GridView中的linkButton的样式和启用状态
<asp:TemplateField HeaderText="状态">
<ItemTemplate>
<asp:LinkButton ID="LB_State" runat="server" CssClass="link" CommandName="Pager" CommandArgument=<%#DataBinder.Eval(Container,"DataItem.StudentID") %> OnClick="LB_State_Click" Text="确认"></asp:LinkButton>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="5%" Wrap="False" />
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="5%" />
</asp:TemplateField>
页面代码片断如上.
根据CommandArgument=<%#DataBinder.Eval(Container,"DataItem.StudentID") %> 这个值.
如0.1.2. 等于.0时,text=班级信息等待确认, = 1,text=分组信息等待确认,=2,text=已确认.颜色=灰色.Enabled=false
这样的功能怎么实现啊~~~在GirdView当中
------最佳解决方案-------------------- LinkButton lbtn = (LinkButton)e.Row.Cells[1].FindControl("LinkID"); //获取LinkButton实例 你的Button在第几列
if (e.Row.RowType == DataControlRowType.DataRow)
{
string ID = lbtn.CommandArgument.ToString(); //这就是LinkButton所带的ID的值(绑定的值)
switch (ID)
{
case "0":
lbtn.Text = "班级信息等待确认";
break;
case"1":
lbtn.Text = "分组信息等待确认";
break;
case "2":
lbtn.Text = "已确认";
lbtn.Enabled = false;
break;
}
}
补全了
------其他解决方案--------------------GridView1_RowDataBound 大体如下
LinkButton li = (LinkButton)e.Row.DataItem.FindControl("");
switch (li.CommandArgument)
{
//0.1.2. 等于.0时,text=班级信息等待确认, = 1,text=分组信息等待确认,=2,text=已确认.颜色=灰色.Enabled=false
case "0":
li.Text = "班级信息等待确认";
break;
case"1":
break;
}
------其他解决方案--------------------Text='<%#Eval("StudentID").ToString().Trim()=="0"?"班级信息等待确认":(Eval("StudentID").ToString().Trim()=="1"?"分组信息等待确认":"已确认")%>'
------其他解决方案--------------------<%#Eval("StudentID").ToString().Trim()=="0"?"班级信息等待确认":(Eval("StudentID").ToString().Trim()=="1"?"分组信息等待确认":"已确认")%>
------其他解决方案--------------------
你这是写在Text的值里面?????
报错啊亲...分析器错误
------其他解决方案--------------------
更正下.应该是这样的.LinkButton li = (LinkButton)e.Row.Cells[9].FindControl("LB_State");
谢了亲.得到Control就可以做了