簡體   English   中英

telerik:radgrid-asp:模板列內的復選框:復選框的事件在griditemcommand上已更改

[英]telerik:radgrid-asp:checkbox inside template column:event for checkbox box changed on griditemcommand

我在C#中使用Telerik網格。 這是我的網格列代碼。

  <telerik:GridTemplateColumn HeaderText="Active" UniqueName="Active">
                        <ItemTemplate>
                            <asp:CheckBox ID="chbActive" runat="server"></asp:CheckBox>
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                    <telerik:GridTemplateColumn HeaderText="Order" UniqueName="ORDER_FLAG">
                        <ItemTemplate>
                            <asp:CheckBox ID="chbORDER_FLAG" runat="server"></asp:CheckBox>
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                    <telerik:GridTemplateColumn HeaderText="Sell" UniqueName="SELL_FLAG">
                        <ItemTemplate>
                            <asp:CheckBox ID="chbSELL_FLAG" runat="server"></asp:CheckBox>
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                    <telerik:GridTemplateColumn HeaderText="Auto GRN" UniqueName="Auto_GRN">
                        <ItemTemplate>
                            <asp:CheckBox ID="ChkAutoGrn" runat="server"></asp:CheckBox>
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>

現在在這種情況下,每當我選中“自動GRN”復選框時,“訂單”復選框都應在網格和相同條件下自動取消選中以進行反向senario。

我將如何實現這一目標。

請檢查下面的演示。

.aspx

<telerik:RadGrid ID="RadGrid3" runat="server" AutoGenerateColumns="false" OnNeedDataSource="RadGrid3_NeedDataSource"
        OnItemDataBound="RadGrid3_ItemDataBound">
        <MasterTableView>
            <Columns>
                <telerik:GridTemplateColumn>
                    <ItemTemplate>
                        <asp:CheckBox ID="Chk1" runat="server" />
                    </ItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridTemplateColumn>
                    <ItemTemplate>
                        <asp:CheckBox ID="Chk2" runat="server" />
                    </ItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridBoundColumn HeaderText="ID" DataField="ID" UniqueName="ID">
                </telerik:GridBoundColumn>

            </Columns>
        </MasterTableView>
    </telerik:RadGrid>

.aspx.cs

protected void RadGrid3_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{

    dynamic data = new[] {
            new { ID = 1, Name ="Name1"},
            new { ID = 2, Name = "Name2"},
            new { ID = 3, Name = "Name3"}
        };
    RadGrid3.DataSource = data;


}
protected void RadGrid3_ItemDataBound(object sender, GridItemEventArgs e)
{
    if (e.Item is GridDataItem)
    {
        GridDataItem item = e.Item as GridDataItem;
        CheckBox Chk1 = item.FindControl("Chk1") as CheckBox;
        CheckBox Chk2 = item.FindControl("Chk2") as CheckBox;

        // default first check box will be checked
        Chk1.Checked = true;

        Chk1.Attributes.Add("onclick", "checkUncheckManage(this,'" + Chk2.ClientID+ "')");
        Chk2.Attributes.Add("onclick", "checkUncheckManage(this,'" + Chk1.ClientID + "')");
    }
}

JS

 function checkUncheckManage(chkA, chkB) {
            var _chkB = document.getElementById(chkB);
            _chkB.checked = !chkA.checked;
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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