Использование флажка в столбце шаблона - запрещение множественного выбора - PullRequest
0 голосов
/ 11 марта 2011

Утро всем.

У меня есть следующий сценарий, где у меня есть radgrid, и внутри него, у меня есть столбец шаблона, содержащий флажок:

    <telerik:GridTemplateColumn UniqueName="TemplateColumn" HeaderText="Display Information" >
<ItemTemplate>
<asp:Panel ID="Panel1" runat="server">
<asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="true" OnCheckedChanged="CheckedChanged" />
</asp:Panel>
</ItemTemplate>
</telerik:GridTemplateColumn>

После проверки,запускается следующее событие, которое упрощенно меняет стиль элементов данных:

protected void CheckedChanged(object sender, EventArgs e)
        {
            {
                var chkBox = (sender as CheckBox);
                var myPanel = chkBox.Parent as Panel;
                var dataItem = myPanel.NamingContainer as GridDataItem;
                var cell = dataItem["Id"].Text;

                if (chkBox.Checked)
                {
                    dataItem["Id"].Style["color"] = "orange"; 
                    dataItem["Desc"].Style["color"] = "orange";                   
                }
                else
                {
                    dataItem["Id"].Style["color"] = "black"; 
                    dataItem["Desc"].Style["color"] = "black";
                }
            }
        }

Это работает, как ожидалось, и выполняет свою работу.

Однако я действительно хочу толькочтобы пользователь мог установить по одному флажку за раз.

Поэтому как мне обеспечить удаление всех предыдущих «проверок» или вообще остановить множественные проверки?

Любая помощь илипредложения с благодарностью.

1 Ответ

0 голосов
/ 11 марта 2011

Сначала почему бы не использовать вместо этого кнопку с радионом, а затем присвоить всем переключателям один и тот же тег NAME. Это «сгруппирует» их вместе, и только один может быть выбран сразу.

Edit: Другой вариант, если необходимо установить флажки, это просто убрать их все в событии либо в коде, либо в JavaScript.

Ура, Stefan

...