簡體   English   中英

選中GridView復選框時啟用GridView列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM