Gridview vith Checkboxes - сделать кнопку неактивной, если установлены некоторые флажки - PullRequest
0 голосов
/ 18 января 2012

У меня есть Gridview, связанный с некоторыми данными из таблицы SQL.В первом столбце GV у меня есть CheckBoxes.Возможно ли включить / отключить кнопку в зависимости от того, какие флажки были отмечены?

Для лучшего понимания приведен пример;

В GV у нас есть первый столбец cboxes, второй столбец - ID итретий столбец - Категория.

<asp:GridView ID="MyGV" runat="server" AutoGenerateColumns="False" DataKeyNames="ID">
    <Columns>
        <asp:TemplateField>
            <ItemTemplate>
                <asp:CheckBox ID="MyCBox" runat="server" />
            </ItemTemplate>
        </asp:TemplateField>
        <asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID" />
        <asp:BoundField DataField="category" HeaderText="Category" SortExpression="category" />
    </Columns>
</asp:GridView>

У нас есть две кнопки (Btn1 и Btn2)

<asp:Button ID="Btn1" runat="server" Text="btn1" OnClick="Btn1_Click" />
<asp:Button ID="Btn2" runat="server" Text="btn2" OnClick="Btn2_Click" />

Теперь ... Допустим, у нас есть 2 категории (Cat1 и Cat2).Когда мы установим флажок и в этой строке значение категории будет Cat1, у нас будет включен Btn1 и Btn2;

Btn1.Enabled = true;
Btn2.Enabled = false;

Можно ли это сделать?Как?

Ответы [ 2 ]

2 голосов
/ 18 января 2012

Попробуйте, если у вас есть только две категории

<asp:GridView ID="MyGV" runat="server" AutoGenerateColumns="False" DataKeyNames="ID">
<Columns>
    <asp:TemplateField>
        <ItemTemplate>
             <asp:CheckBox ID="MyCBox" Text="Select Cat" AutoPostBack="true" ToolTip='<%#Bind("category") %>' OnCheckedChanged="MyCBox_CheckedChanged" runat="server" />
        </ItemTemplate>
    </asp:TemplateField>
    <asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID" />
    <asp:BoundField DataField="category" HeaderText="Category" SortExpression="category" />
</Columns>

Код события для флажка

protected void MyCBox_CheckedChanged(object sender, EventArgs e)
{
    if( ((CheckBox)sender).ToolTip == "cat1"
      { 
       Btn1.Enabled = true;
       Btn2.Enabled = false;
      }
    else 
      { 
       Btn1.Enabled = false;
       Btn2.Enabled = true;
      }          

}
0 голосов
/ 18 января 2012

Являются ли кнопки частью сетки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...