[英]Enabling GridView columns when GridView checkbox is checked
在GridView(ASP.NET/C#)中,我有許多模板字段-與該問題相關的2個模板字段是'checkbox1'和'quantity'。 復選框以每行未選中的形式開始,數量以每行禁用的形式開始。 但是,當用戶勾選其中一個行復選框時,我需要一段JavaScript或其他代碼來檢查是否選中了相關行復選框,如果需要,請啟用行數文本框。
我該怎么做呢?
確保從禁用數量開始。 我假設它是一個TextBox:
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="checkbox1" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="quantity" runat="server" Enabled="false" />
</ItemTemplate>
</asp:TemplateField>
在頁面上添加以下JavaScript代碼:
<script type="text/javascript">
function ChangeQuantityEnable(id, enable) {
document.getElementById(id).disabled = !enable;
}
</script>
然后在您的gridview的RowDataBound事件處理程序中,添加
if (e.Row.RowType == DataControlRowType.DataRow)
{
CheckBox chk = (CheckBox)e.Row.FindControl("checkbox1");
TextBox txt = (TextBox)e.Row.FindControl("quantity");
chk.Attributes["onclick"] = string.Format("ChangeQuantityEnable('{0}', this.checked);", txt.ClientID);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.