Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Ovládací prvek ReorderList v sadě nástrojů AJAX Control Toolkit poskytuje seznam, který může uživatel změnit pořadí přetažením. Při každé změně pořadí seznamu informuje zpětný server o změně.
Přehled
Ovládací ReorderList prvek v sadě AJAX Control Toolkit poskytuje seznam, který může uživatel změnit pomocí přetažení. Při každé změně pořadí seznamu informuje zpětný server o změně.
Postup
Pro ovládací prvek existuje několik možných zdrojů ReorderList dat. Jedním z nich je použití ovládacího prvku XmlDataSource :
<asp:XmlDataSource ID="XmlDataSource1" runat="server" XPath="acronym/letter">
<Data>
<acronym>
<letter char="A" description="Asynchronous" />
<letter char="J" description="JavaScript" />
<letter char="A" description="And" />
<letter char="X" description="XML" />
</acronym>
</Data>
</asp:XmlDataSource>
Aby bylo možné vytvořit vazbu tohoto XML na ReorderList ovládací prvek a povolit zpětné odeslání, musí být nastaveny následující atributy:
-
DataSourceID: ID zdroje dat -
SortOrderField: Vlastnost, podle které chcete řadit -
AllowReorder: Určuje, jestli chcete uživateli povolit změnit pořadí prvků seznamu. -
PostBackOnReorder: Jestli se má vytvořit zpětné odeslání při změně uspořádání seznamu
Tady je odpovídající kód pro ovládací prvek:
<ajaxToolkit:ReorderList ID="rl1" runat="server" SortOrderField="char"
AllowReorder="true"
DataSourceID="XmlDataSource1" PostBackOnReorder="true">
V rámci ReorderList ovládacího prvku mohou být konkrétní data ze zdroje dat svázaná metodou Eval() :
<DragHandleTemplate>
<div class="DragHandleClass">
</div>
</DragHandleTemplate>
<ItemTemplate>
<div>
<asp:Label ID="ItemLabel" Text='<%# Eval("description") %>' runat="server" />
</div>
</ItemTemplate>
</ajaxToolkit:ReorderList>
Na libovolném místě na stránce bude popisek obsahovat informace o tom, kdy došlo k poslední změně pořadí:
<div>
<asp:Label ID="lastUpdate" runat="server" />
</div>
Tento popisek je vyplněný textem v kódu na straně serveru, který zpracovává zpětné odeslání:
<script runat="server">
Sub Page_Load()
If Page.IsPostBack Then
lastUpdate.Text = "List last reordered at " & DateTime.Now.ToLongTimeString()
End If
End Sub
</script>
Nakonec, aby bylo možné aktivovat funkce ASP.NET AJAX a Control Toolkit, ScriptManager musí být ovládací prvek umístěn na stránce:
<asp:ScriptManager ID="asm" runat="server" />
Při každé změně pořadí se aktivuje zpětné odeslání (kliknutím zobrazíte obrázek v plné velikosti).