<asp:TemplateField HeaderText="是否完成">
<ItemTemplate>
<%#Eval("PLAN_FINISH").ToString()=="0" ? "<font color=red> 否</font>" :"是"%>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField><asp:TemplateField HeaderText="操作">
<ItemTemplate>
<asp:ImageButton ID="bntCommit" ImageUrl="~/Images/Commit.gif" runat="server" CommandName="commit"
CausesValidation="false" ToolTip="总结" CommandArgument='<%# Eval("PLAN_DID")%>' />
<asp:ImageButton ID="btnEdit" ImageUrl="~/Images/table_edit.png" runat="server" CommandName="ed"
CausesValidation="false" ToolTip="编辑" CommandArgument='<%# Eval("PLAN_ID")%>' />
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" Width="100px" />
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>我想判断当没有完成的时候,总结按钮显示,否则不显示
但是获取不到GridView单元格的值 protected void gvPlanDrill_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
ImageButton imgBtnCommit = (ImageButton)e.Row.Cells[9].FindControl("bntCommit"); if (e.Row.Cells[8].Text== "未总结")
{
imgBtnCommit.Visible = true;
}
else
{
imgBtnCommit.Visible = false;
}
}
}
<asp:TemplateField HeaderText="是否完成">
<ItemTemplate>
<asp:label id="lbl_test" runat="server" />
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>Label label = (Label)e.Row.FindControl("lbl_test");
if(label.Text == "")
{
}
可以不用Lable直接能获取到吗?
你确定是不是在第9单元?
如不知可用
(ImageButton)e.Row.FindControl("bntCommit");
{
}
不是找不到imgBtnCommit
在找找。如果没绑定开始值就是空的
看来只能放一个Lable了。其实我是想知道不放Lable怎么实现。。是不是有点钻牛角尖了,(*^__^*) 嘻嘻
即将Cell返回的控件强制转换为System.Web.UI.DataBoundLiteralControl类型,然后获取其Text属性
((System.Web.UI.DataBoundLiteralControl)gvReportResult.Rows[i].Cells[2].Controls[0]).Text.Trim());
有些热心的朋友不看清题意,就直接回答。