Ich mache einige Änderungen an einer internen Anwendung, die eine Telerik RadGrid-Komponente auf einer ASPX-Seite hat.asp: UpdatePanel auf einzelnen RadGrid-Zeilen
Jede Zeile im RadGrid stellt einen Auftrag dar und es gibt ein Dropdown-Feld, in dem der Status des Auftrags festgelegt werden kann. Wenn Sie den Status des Auftrags ändern, werden einige andere Eigenschaften des Auftrags aktualisiert, die in dieser Zeile angezeigt werden.
Bis jetzt hat das Ändern des Bestellstatus zu einem vollständigen Seitenpostback und erneutem Rendern geführt. Ich bin daran interessiert, dies zu einem Teil Post zurück mit einem UpdatePanel zu ändern. Ich könnte das Status-Dropdown (ein RadCombo) in ein UpdatePanel einbinden, das sich um die tatsächlichen Datenbankänderungen kümmert, die erforderlich sind (gemäß dem Codebeispiel unten), aber ohne die anderen Eigenschaften in der RadGrid-Zeile zu aktualisieren, sind die Updates nicht dem Benutzer präsentiert.
<telerik:RadGrid ID="OrdersGrid" runat="server" ...>
<MasterTableView DataKeyNames="OrderId" AllowMultiColumnSorting="false">
<NoRecordsTemplate ...></NoRecordsTemplate>
<Columns>
<telerik:GridBoundColumn ... />
...
<telerik:GridTemplateColumn HeaderText="Order Status" UniqueName="OrderStatus">
<ItemTemplate>
<asp:UpdatePanel runat="server">
<ContentTemplate>
<telerik:RadComboBox ID="RadOrderStatus" DataSourceID="OrderStatusDataSource" runat="server"
SelectedValue='<%# Bind("OrderStatus") %>' Skin="Metro" Width="180px" DataTextField="OrderStatus"
DataValueField="OrderStatus" AutoPostBack="True" EnableLoadOnDemand="False" OnSelectedIndexChanged="RadOrderStatus_SelectedIndexChanged">
</telerik:RadComboBox>
</ContentTemplate>
</asp:UpdatePanel>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
<SortExpressions>...</SortExpressions>
</MasterTableView>
</telerik:RadGrid>
Ich frage mich, wie ich die Update effektiv nutzen kann, um die Zeile des RadGrid wickeln, so dass die gesamte Zeile aktualisiert werden kann, im Gegensatz zu nur die Zelle, die die Drop-Down-in ist. Ich habe versucht, das Experimentieren schon mit tag placement, aber ich bin neu bei Telerik und deshalb nicht sehr aufgeklärt.
Auf welcher Ebene im Markup kann ich das UpdatePanel platzieren, damit es so funktioniert, wie ich es möchte?
Oder gibt es einen Telerik Weg dies zu tun?
Ich könnte das ganze Netz wickeln, aber wenn möglich, würde ich lieber nicht das gesamte Netzupdate auf jedem Teil zurück haben, die zulässigen Operationen sind auf Zeilenebene beschränkt, so dass ich eine vollständige Netzaktualisierung als verschwenderisch sehe.
Hallo, danke für die Antwort. Sie haben bestätigt, was ich befürchtet habe, dass es schwierig/unmöglich ist, die Zeile in ein UpdatePanel zu schreiben. Ich muss einen anderen Ansatz finden und werde die zwei Optionen untersuchen, die Sie vorgestellt haben. –