日期:2014-05-17  浏览次数:20433 次

根据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"?"分组信息等待确认":"已确认")%>
------其他解决方案--------------------
引用:
<%#Eval("StudentID").ToString().Trim()=="0"?"班级信息等待确认":(Eval("StudentID").ToString().Trim()=="1"?"分组信息等待确认":"已确认")%>


你这是写在Text的值里面?????

报错啊亲...分析器错误
------其他解决方案--------------------
引用:
GridView1_RowDataBound 大体如下
LinkButton li = (LinkButton)e.Row.DataItem.FindControl("");
switch (li.CommandArgument)
{
//0.1.2.  等于.0时,text=班级信息等待确认, = 1,text=分组信息等待确认,=2,text=已确认.颜色=灰……


更正下.应该是这样的.LinkButton li = (LinkButton)e.Row.Cells[9].FindControl("LB_State");

谢了亲.得到Control就可以做了