簡體   English   中英

在代碼隱藏中添加后,RadGrid ItemCommand不會觸發

[英]RadGrid ItemCommand Doesn't Fire When Added In Code-Behind

我在ASP.NET網站中使用Telerik RadGrid,並且需要以編程方式從頁面的PreRender事件添加ItemCommand事件處理程序:

MyGrid.ItemCommand += new GridCommandEventHandler(OnItemCommand);

但是,永遠不會調用OnItemCommand 如果我將其放在.aspx文件中,則可以正常工作: OnItemCommand="OnItemCommand" ,但是當我在C#中添加它時卻不能。

這里發生了什么? TYIA。

創建網格時(在Page_Load或Page_Init中)添加處理程序: http : //www.telerik.com/help/aspnet-ajax/grid-programmatic-creation.html 或者,僅在標記中。 如果您只需要在特定條件下觸發它,則可以將該條件添加到處理程序本身中並退出。

編輯:嘗試使用以下代碼作為基礎,因為它對我來說效果很好:

        <telerik:RadGrid ID="RadGrid1" runat="server" OnNeedDataSource="RadGrid1_NeedDataSource">
            <MasterTableView>
                <Columns>
                    <telerik:GridEditCommandColumn></telerik:GridEditCommandColumn>
                </Columns>
            </MasterTableView>
        </telerik:RadGrid>

和服務器端:

protected void Page_Load(object sender, EventArgs e)
{
    RadGrid1.ItemCommand += RadGrid1_ItemCommand;
}

protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e)
{
    throw new NotImplementedException();
}


protected DataTable GetData()
{
    DataTable tbl = new DataTable();
    tbl.Columns.Add(new DataColumn("Description"));
    tbl.Columns.Add(new DataColumn("ParameterName"));
    tbl.Columns.Add(new DataColumn("ThirdColumn"));
    tbl.Columns.Add(new DataColumn("FourthColumn"));
    tbl.Rows.Add(new object[] { "firstRecord1", "firstRecord2", "firstRecord3", "firstRecord4" });
    tbl.Rows.Add(new object[] { "secondRecord1", "secondRecord2", "secondRecord3", "secondRecord4" });
    tbl.Rows.Add(new object[] { "thirdRecord1", "thirdRecord2", "thirdRecord3", "thirdRecord4" });
    tbl.Rows.Add(new object[] { "fourthRecord1", "fourthRecord2", "fourthRecord3", "fourthRecord4" });
    return tbl;
}


protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
    RadGrid1.DataSource=GetData();
}

暫無
暫無

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

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