2013-06-26 89 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

我已更新上面的代碼片段。請檢查它並讓我知道是否有任何問題。 –