【发布时间】:2011-07-27 04:33:31
【问题描述】:
我在刷新 radgrid 时遇到问题,当我关闭弹出 radwindow 时,任何人都可以帮助解决问题。
我的 Gridpage aspx 代码如下所示
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" OnAjaxRequest="RadAjaxManager1_AjaxRequest" EnableAJAX="true">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadGrid1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="RadGrid1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadGrid1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="True" AllowSorting="True"
GridLines="None" ShowGroupPanel="True" Skin="Black" AutoGenerateColumns="False" Width="100%" AllowAutomaticInserts="false" AllowAutomaticUpdates="false">
<ClientSettings AllowDragToGroup="True" AllowColumnsReorder="True" ReorderColumnsOnClient="True">
<Scrolling AllowScroll="True" UseStaticHeaders="True" />
<ClientEvents OnGridCreated="OnGridCreated" />
</ClientSettings>
.......................
..................
<telerik:RadWindowManager ID="RadWindowManager1" runat="server" EnableShadow="true"
Skin="Black">
<Windows>
<telerik:RadWindow ID="UserListDialog" runat="server" Height="620px" Width="620px"
Left="150px" Top="50px" ReloadOnShow="true" ShowContentDuringLoad="false" Modal="true"
OnClientClose="closeRadWindow" />
</Windows>
</telerik:RadWindowManager>
protected void RadAjaxManager1_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
{
if (e.Argument == "Rebind")
{
RadGrid1.MasterTableView.SortExpressions.Clear();
RadGrid1.MasterTableView.GroupByExpressions.Clear();
Presenter List = new Presenter(this);
IList<FileAdmin> GridDta = List.PopulateGrid();
RadGrid1.DataSource = GridDta;
RadGrid1.Rebind();
}
My javascript looks like this
function closeRadWindow()
{
$find("<%= RadAjaxManager1.ClientID %>").ajaxRequest("Rebind");
}
function refreshGrid()
{
$find("<%= RadAjaxManager1.ClientID %>").ajaxRequest("Rebind");
}
RadWindow aspx 代码看起来像这样 javascript
function CloseAndRebind() {
GetRadWindow().BrowserWindow.refreshGrid();
//GetRadWindow().close();
}
function GetRadWindow()
{
var oWindow = null;
if (window.radWindow) oWindow = window.radWindow; //Will work in Moz in all cases, including clasic dialog
else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow; //IE (and Moz as well)
return oWindow;
}
Radwindow aspx.cs 文件如下所示
protected void buttonclick(object sender, EventArgs e)
{
if (result == true)
{
ClientScript.RegisterStartupScript(Page.GetType(), "mykey1", "CloseAndRebind();", true);
}
}
【问题讨论】:
-
为澄清起见,您是否希望网格在 radwindow 关闭后随更改而更新(以便您可以看到新数据)?
-
是的,该特定功能不起作用
-
老实说,看起来您已经将示例 here 镜像到了发球台。是不是 result == true 传入你的代码,允许下面的代码执行?
-
我遇到了同样的问题。我遵循链接示例,但通过调用 ajaxRequest 进行更新,Rebind() 没有发生。相反,从 Javascript 调用 rebind 解决了问题
标签: c# asp.net telerik telerik-grid radwindow