内网格扩展时如何强制RadGrid回发

时间:2013-12-04 08:24:11

标签: asp.net telerik telerik-grid radgrid

我有一个分层的RadGrid,我编写了以下代码,当我选择一行时,因为我设置了EnablePostBackOnRowClick="true",但我想在扩展子网格时,它填充但现在我必须选择行绑定细节网格。

protected void RadGrid1_DetailTableDataBind(object source, Telerik.Web.UI.GridDetailTableDataBindEventArgs e)
{
    //e.DetailTableView.Items[e.DetailTableView.ParentItem.ItemIndex]["ID_"].Text
    try
    {
        if (x != "0")
        {
            x = RadGrid1.Items[RadGrid1.SelectedIndexes[0]]["ID_"].Text.ToString();
        }
        GridDataItem dataItem = (GridDataItem)e.DetailTableView.ParentItem;
        // Label2.Text = e.DetailTableView.Items[0]["ControlName"].Text.ToString();

        e.DetailTableView.DataSource = GetDataTable("[Prg].[S_ControlList_Select]", x);
    }
}

1 个答案:

答案 0 :(得分:0)

为了让您的页面在展开子网格时触发回发,只需设置以下内容:

在您的RadGrid定义中,添加OnItemCommand设置和ClientSettings部分:

<telerik:RadGrid ID="RadGrid1" OnItemCommand="RadGrid1_ItemCommand"
    <ClientSettings AllowExpandCollapse="true">

在后面的代码中,处理回发:

protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e)
{
    switch (e.CommandName)
    {
        case "ExpandCollapse":
            // Do something...
            break;
    }
}