2013-06-26 85 views
0

我的页面中有2个radgrid,我需要同时更新2个radgrid。当点击radgrid1中的一个按钮时,我需要将行填充到radgrid 2,反之亦然。我的代码执行更新,但我遇到了一个问题,当单击一个按钮时,从radgrid1 lastrow该行未附加到radgrid 2并且我没有在radgrid 1中看到这行。这只发生在lastrow中,类似地,当在radgrid 2中单击一个lastrow按钮时,它不会显示在我的radgrid中。另外,从顶部或midrow中任何行clickevent都只能正常工作当点击lastrow时,我看到它丢失,并且随着下一个toprow点击行出现。我需要知道导致这种不良行为的原因仅在我的radgrid lastrow上。Telerik Radgrid部分Ajaxifying

<telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" Skin="Default" EnableRoundedCorners="False" DecoratedControls="All" /> 

<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" DefaultLoadingPanelID="RadAjaxLoadingPanel1"> 
    <AjaxSettings> 

      <telerik:AjaxSetting AjaxControlID="RadGrid1"> 
      <UpdatedControls> 
       <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1"> 
       </telerik:AjaxUpdatedControl> 
      </UpdatedControls> 
     </telerik:AjaxSetting> 

     <telerik:AjaxSetting AjaxControlID="RadGrid2"> 
      <UpdatedControls> 
       <telerik:AjaxUpdatedControl ControlID="RadGrid2" LoadingPanelID="RadAjaxLoadingPanel1"> 
       </telerik:AjaxUpdatedControl> 
      </UpdatedControls> 
     </telerik:AjaxSetting> 



     <telerik:AjaxSetting AjaxControlID="RadGrid1LinkButton"> 
      <UpdatedControls> 
       <telerik:AjaxUpdatedControl ControlID="RadGrid2" LoadingPanelID="RadAjaxLoadingPanel1"> 
       </telerik:AjaxUpdatedControl> 
       <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1"> 
       </telerik:AjaxUpdatedControl> 
      </UpdatedControls> 
     </telerik:AjaxSetting> 

     <telerik:AjaxSetting AjaxControlID="RadGrid2LinkButton"> 
      <UpdatedControls> 
       <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1"> 
       </telerik:AjaxUpdatedControl> 
       <telerik:AjaxUpdatedControl ControlID="RadGrid2" LoadingPanelID="RadAjaxLoadingPanel1"> 
       </telerik:AjaxUpdatedControl> 
      </UpdatedControls> 
     </telerik:AjaxSetting> 


    </AjaxSettings> 
</telerik:RadAjaxManager> 
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server"> 
</telerik:RadAjaxLoadingPanel> 







<h3 style="text-align:left"><i class="icon-group"></i>&nbsp Shared With</h3><br /> 

<telerik:RadGrid ID="RadGrid1" 

    Width="100%" OnNeedDataSource="RadGrid1_NeedDataSource" AllowSorting="True" DataKeyNames="CartId" 

    PageSize="10" AutoGenerateColumns="false" AllowPaging="True" AllowMultiRowSelection="True" runat="server" GridLines="None"> 

    <MasterTableView Width="100%" AllowMultiColumnSorting="true" Summary="RadGrid table" DataKeyNames="CartId"> 
    <Columns> 
    <telerik:GridTemplateColumn UniqueName="UserNameTemplateColumn" HeaderText="UserName" SortExpression="UserName" > 


    <ItemTemplate> 
    <asp:Label ID="UserNamelbl" runat="server" Text='<%# Eval("UserName")%>'></asp:Label> 
    </ItemTemplate> 
    </telerik:GridTemplateColumn> 
    <telerik:GridTemplateColumn UniqueName="DateTemplateColumn" HeaderText="Date" SortExpression="Date" > 
    <ItemTemplate> 
    <asp:Label ID="RequestDate" runat="server" Text='<%# Eval("Date")%>'></asp:Label> 

    </ItemTemplate> 
    </telerik:GridTemplateColumn> 

    <telerik:GridTemplateColumn UniqueName="TemplateColumn1" HeaderText="add user" 
       AllowFiltering="false"> 
       <ItemStyle HorizontalAlign="Center"></ItemStyle> 

    <ItemTemplate> 

    <asp:LinkButton ID="RadGrid1LinkButton" 
    OnCommand="AddUser" CommandName="AddUser" runat="server" CommandArgument='<%# Eval("CartId")%>' > 

    </asp:LinkButton> 


    </ItemTemplate> 

    </telerik:GridTemplateColumn> 


    </Columns> 

    </MasterTableView> 

    <PagerStyle Mode="NextPrevAndNumeric"></PagerStyle> 

</telerik:RadGrid> 



<telerik:RadGrid ID="RadGrid2" OnNeedDataSource="RadGrid2_NeedDataSource" AllowSorting="True" DataKeyNames="CartId" 

    PageSize="10" AutoGenerateColumns="false" AllowPaging="True" AllowMultiRowSelection="True" runat="server" GridLines="None"> 

    <MasterTableView Width="100%" AllowMultiColumnSorting="true" Summary="RadGrid table" DataKeyNames="RecepientlearningCartId"> 
    <Columns> 
    <telerik:GridTemplateColumn UniqueName="UserNameTemplateColumn" HeaderText="UserName" SortExpression="UserName" > 




    <ItemTemplate> 

    <asp:Label ID="UserNamelbl" runat="server" Text='<%# Eval("UserName")%>'></asp:Label> 

    </ItemTemplate> 
    </telerik:GridTemplateColumn> 
    <telerik:GridTemplateColumn UniqueName="DateTemplateColumn" HeaderText="Date" SortExpression="Date" > 
    <ItemTemplate> 
    <asp:Label ID="Date" runat="server" Text='<%# Eval("Date")%>'></asp:Label> 

    </ItemTemplate> 
    </telerik:GridTemplateColumn> 

    <telerik:GridTemplateColumn UniqueName="TemplateColumn1" HeaderText="Revoke Share" 
       AllowFiltering="false"> 
       <ItemStyle HorizontalAlign="Center"></ItemStyle> 


    <ItemTemplate> 

    <asp:LinkButton ID="radGrid2LinkButton" 
    OnCommand="Removeuser" CommandName="Removeuser" runat="server" CommandArgument='<%# Eval("CartId")%>' > 

    </asp:LinkButton> 


    </ItemTemplate> 

    </telerik:GridTemplateColumn> 


    </Columns> 

    </MasterTableView> 

    <PagerStyle Mode="NextPrevAndNumeric"></PagerStyle> 

</telerik:RadGrid> 

回答

0

请尝试使用下面的代码片段。

.ASPX

<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server"> 
</telerik:RadAjaxLoadingPanel> 
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> 
    <AjaxSettings> 
     <telerik:AjaxSetting AjaxControlID="RadGrid1"> 
      <UpdatedControls> 
       <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" /> 
       <telerik:AjaxUpdatedControl ControlID="RadGrid2" LoadingPanelID="RadAjaxLoadingPanel1" /> 
      </UpdatedControls> 
     </telerik:AjaxSetting> 
     <telerik:AjaxSetting AjaxControlID="RadGrid2"> 
      <UpdatedControls> 
       <telerik:AjaxUpdatedControl ControlID="RadGrid2" LoadingPanelID="RadAjaxLoadingPanel1" /> 
       <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" /> 
      </UpdatedControls> 
     </telerik:AjaxSetting> 
    </AjaxSettings> 
</telerik:RadAjaxManager> 
<telerik:RadGrid ID="RadGrid1" Width="100%" OnNeedDataSource="RadGrid1_NeedDataSource" 
    AllowSorting="True" DataKeyNames="ID" PageSize="10" AutoGenerateColumns="false" 
    AllowPaging="True" AllowMultiRowSelection="True" runat="server" GridLines="None"> 
    <MasterTableView Width="100%" AllowMultiColumnSorting="true" Summary="RadGrid table" 
     DataKeyNames="ID"> 
     <Columns> 
      <telerik:GridTemplateColumn UniqueName="UserNameTemplateColumn" HeaderText="UserName" 
       SortExpression="UserName"> 
       <ItemTemplate> 
        <asp:Label ID="UserNamelbl" runat="server" Text='<%# Eval("Name")%>'></asp:Label> 
       </ItemTemplate> 
      </telerik:GridTemplateColumn> 
      <telerik:GridTemplateColumn UniqueName="DateTemplateColumn" HeaderText="Date" SortExpression="Date"> 
       <ItemTemplate> 
        <asp:Label ID="RequestDate" runat="server" Text='<%# Eval("Name")%>'></asp:Label> 
       </ItemTemplate> 
      </telerik:GridTemplateColumn> 
      <telerik:GridTemplateColumn UniqueName="TemplateColumn1" HeaderText="add user" AllowFiltering="false"> 
       <ItemStyle HorizontalAlign="Center"></ItemStyle> 
       <ItemTemplate> 
        <asp:LinkButton ID="RadGrid1LinkButton" OnCommand="AddUser" CommandName="AddUser" 
         Text="click here" runat="server" CommandArgument='<%# Eval("ID")%>'> 
        </asp:LinkButton> 
       </ItemTemplate> 
      </telerik:GridTemplateColumn> 
     </Columns> 
    </MasterTableView> 
    <PagerStyle Mode="NextPrevAndNumeric"></PagerStyle> 
</telerik:RadGrid> 
<telerik:RadGrid ID="RadGrid2" OnNeedDataSource="RadGrid2_NeedDataSource" AllowSorting="True" 
    DataKeyNames="CartId" PageSize="10" AutoGenerateColumns="false" AllowPaging="True" 
    AllowMultiRowSelection="True" runat="server" GridLines="None"> 
    <MasterTableView Width="100%" AllowMultiColumnSorting="true" Summary="RadGrid table" 
     DataKeyNames="ID"> 
     <Columns> 
      <telerik:GridTemplateColumn UniqueName="UserNameTemplateColumn" HeaderText="UserName" 
       SortExpression="UserName"> 
       <ItemTemplate> 
        <asp:Label ID="UserNamelbl" runat="server" Text='<%# Eval("Name")%>'></asp:Label> 
       </ItemTemplate> 
      </telerik:GridTemplateColumn> 
      <telerik:GridTemplateColumn UniqueName="DateTemplateColumn" HeaderText="Date" SortExpression="Date"> 
       <ItemTemplate> 
        <asp:Label ID="Date" runat="server" Text='<%# Eval("Name")%>'></asp:Label> 
       </ItemTemplate> 
      </telerik:GridTemplateColumn> 
      <telerik:GridTemplateColumn UniqueName="TemplateColumn1" HeaderText="Revoke Share" 
       AllowFiltering="false"> 
       <ItemStyle HorizontalAlign="Center"></ItemStyle> 
       <ItemTemplate> 
        <asp:LinkButton ID="radGrid2LinkButton" OnCommand="Removeuser" CommandName="Removeuser" 
         Text="click here" runat="server" CommandArgument='<%# Eval("ID")%>'> 
        </asp:LinkButton> 
       </ItemTemplate> 
      </telerik:GridTemplateColumn> 
     </Columns> 
    </MasterTableView> 
    <PagerStyle Mode="NextPrevAndNumeric"></PagerStyle> 
</telerik:RadGrid> 

.ASPX.CS

protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e) 
{ 
    dynamic data = new[] { 
     new { ID = 1, Name =DateTime.Now.ToString()}, 
     new { ID = 2, Name = "Name2"}, 
     new { ID = 3, Name = "Name3"}, 
     new { ID = 4, Name = "Name4"}, 
     new { ID = 5, Name = "Name5"} 
    }; 

    RadGrid1.DataSource = data; 
} 

protected void RadGrid2_NeedDataSource(object sender, GridNeedDataSourceEventArgs e) 
{ 
    dynamic data = new[] { 
     new { ID = 1, Name =DateTime.Now.ToString()}, 
     new { ID = 2, Name = "Name2"}, 
     new { ID = 3, Name = "Name3"}, 
     new { ID = 4, Name = "Name4"}, 
     new { ID = 5, Name = "Name5"} 
    }; 

    RadGrid2.DataSource = data; 
} 



protected void AddUser(object sender, CommandEventArgs e) 
{ 
    RadGrid1.Rebind(); 
    RadGrid2.Rebind(); 
} 
protected void Removeuser(object sender, CommandEventArgs e) 
{ 
    RadGrid1.Rebind(); 
    RadGrid2.Rebind(); 
} 
+0

我想你code.but力work.Din't知道究竟是什么造成了这个问题。 – newuser1555

+0

请给我一段时间,我会提供完整的代码。 –

+0

我已更新上面的代码片段。请检查它并让我知道是否有任何问题。 –