如何在OnClick事件上改变gridview模板字段的可见性
本文关键字:字段 可见性 gridview 改变 OnClick 事件 | 更新日期: 2023-09-27 18:04:08
如何改变OnClick事件中gridview模板字段的可见性
<gaia:Button ID="btnAdd" runat="server" Text="Add Sub Franchise" OnClick="btnAdd_Click" Visible="true" CssClass="b2" />
<gaia:Button ID="btnBulk" runat="server" Text="Bulk Assignment"
CssClass="b2" onclick="btnBulkAssign_Click" />
<gaia:Button ID="btnBulkSubmit" Visible="false" runat="server"
Text="Bulk Submit" CssClass="b2" onclick="btnBulkSubmit_Click" />
<asp:GridView ID="grdFranchise" runat="server" AllowSorting="True" AutoGenerateColumns="False"
>
<Columns>
<asp:TemplateField HeaderText="Payments">
<ItemTemplate>
<asp:Label runat="server" ID="checkMyPaymentStatus" Visible="<%# Paymentflag %>" Text='<%#GetTotal("lblDeposit")%>' ForeColor='Green' />
<asp:Label runat="server" ID="lblNetPayments" Text='<%#String.Format("{0:f2}",(decimal)Eval("Payments"))%>'/>
<asp:TextBox ID="txtMypayment" runat="server" Visible="<%# Paymentflag %>" Text='<%#String.Format("{0:f2}",(decimal)Eval("Payments"))%>'/> </ItemTemplate> </asp:TemplateField>
</Columns>
</grdFranchies>
我想当gridview加载时,lblNetPayments是可见的。当用户单击批量分配时,lblNetPayments标签可见性为假或checkMyPaymentStatus可见性为真,txtMyPayment可见性为真。
并且当用户点击批量提交时,上面的内容是相反的
在btnBulkAssign_Click
事件上隐藏lblNetPayments
和txtMyPayment
并显示checkMyPaymentStatus
:
protected void btnBulkAssign_Click(object sender, EventArgs e)
{
for (int i = 0, i < grdFranchise.Rows.Count, i++)
{
Label lblNetPayments = (Label)grdFranchise.Rows[i].FindControl("lblNetPayments");
Label checkMyPaymentStatus = (Label)grdFranchise.Rows[i].FindControl("checkMyPaymentStatus ");
TextBox txtMypayment = (TextBox)grdFranchise.Rows[i].FindControl("txtMypayment");
lblNetPayments.Visible = false;
checkMyPaymentStatus.Visible = true;
txtMypayment.Visible = true;
}
}
只要在btnBulkSubmit_Click
上调用grdFranchise.DataBind();
即可。