Включение столбцов GridView при установленном флажке GridView - PullRequest
0 голосов
/ 14 октября 2010

в GridView (ASP.NET/C#) у меня есть несколько полей шаблона - два из них, имеющих отношение к вопросу, - это «checkbox1» и «количество».Флажок начинается как не отмеченный для каждой строки, а количество начинается как отключенное для каждой строки.Но когда пользователь ставит один из флажков строк, мне нужен фрагмент JavaScript или что-то, чтобы проверить, установлен ли флажок соответствующих строк, и, если это так, включить текстовое поле количества строк.

1 Ответ

1 голос
/ 14 октября 2010

Убедитесь, что вы начали с вашего количества отключено. Я предполагаю, что это 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>

Затем в обработчике событий 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...