Uso de postbacks com ReorderList (VB)
por Christian Wenz
O controle ReorderList no Kit de Ferramentas de Controle AJAX fornece uma lista que pode ser reordenada pelo usuário por meio de arrastar e soltar. Sempre que a lista for reordenada, um postback informará o servidor sobre a alteração.
Visão geral
O ReorderList
controle no Kit de Ferramentas de Controle AJAX fornece uma lista que pode ser reordenada pelo usuário por meio de arrastar e soltar. Sempre que a lista for reordenada, um postback informará o servidor sobre a alteração.
Etapas
Há várias fontes de dados possíveis para o ReorderList
controle. Uma delas é usar um XmlDataSource
controle:
<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>
Para associar esse XML a um ReorderList
controle e habilitar postbacks, os seguintes atributos devem ser definidos:
DataSourceID
: a ID da fonte de dadosSortOrderField
: a propriedade a ser classificada porAllowReorder
: se deseja permitir que o usuário reordene os elementos da listaPostBackOnReorder
: se deseja criar um postback sempre que a lista for reorganizada
Aqui está a marcação apropriada para o controle:
<ajaxToolkit:ReorderList ID="rl1" runat="server" SortOrderField="char"
AllowReorder="true"
DataSourceID="XmlDataSource1" PostBackOnReorder="true">
Dentro do ReorderList
controle, dados específicos da fonte de dados podem ser associados usando o Eval()
método :
<DragHandleTemplate>
<div class="DragHandleClass">
</div>
</DragHandleTemplate>
<ItemTemplate>
<div>
<asp:Label ID="ItemLabel" Text='<%# Eval("description") %>' runat="server" />
</div>
</ItemTemplate>
</ajaxToolkit:ReorderList>
Em uma posição arbitrária na página, um rótulo manterá as informações quando a última reordenação ocorreu:
<div>
<asp:Label ID="lastUpdate" runat="server" />
</div>
Esse rótulo é preenchido com texto no código do lado do servidor, tratando o postback:
<script runat="server">
Sub Page_Load()
If Page.IsPostBack Then
lastUpdate.Text = "List last reordered at " & DateTime.Now.ToLongTimeString()
End If
End Sub
</script>
Por fim, para ativar a funcionalidade do AJAX ASP.NET e do Kit de Ferramentas de Controle, o ScriptManager
controle deve ser colocado na página:
<asp:ScriptManager ID="asm" runat="server" />
Cada reordenação dispara um postback (Clique para exibir imagem em tamanho real)