jueves, 12 de septiembre de 2013

ASP.NET - Uso de un ListView

La variable de la fila correspondiente del data Source se puede sustituir con la palabra Eval("Nombre") %> , siendo Nombre la columna

Hay que definir templates:

<ItemTemplate> : Es el html que sustituye cada fila de los datos recogidos
<LayoutTemplate> : Es el entorno que aparece al rededor de las diferentes filas, el itemTemplate aqui es sustituido por el elemento: ,
que es el elemento definido en la variable ItemPlaceholderID="PlaceHolder1".


Ejemplo de definición

              <asp:ListView ID="ListViewDirectorios" runat="server"
                    ItemPlaceholderID="PlaceHolder1"
                    onitemcommand="ListViewDirectorios_ItemCommand"   >
                <LayoutTemplate>
                    <asp:Panel ID="Panel1" runat="server" ScrollBars="Auto" Height="300px"  >
                        <table cellpadding="1"  border="0" runat="server" id="tblProducts"   >
                            <tr id="Tr1" runat="server">
                              <th id="Th1" runat="server"  style="width:10%;" />
                              <th id="Th2" runat="server" style="width:90%;text-align:center;"/>
                            </tr>
                            <tr runat="server" id="PlaceHolder1" />
                        </table>
                    </asp:Panel>
                </LayoutTemplate>
                 <SelectedItemTemplate>
                     <tr id="Tr2" runat="server"  >
                         <td>
                           <asp:Image  ID="ImagenFichero" runat ="server" ImageUrl='~/image/GestorDocumental/32x32/favorites.jpg'  />            
                        </td>
                         <td>
                             <asp:Label ID="NombreFichero" runat="server" Text='<%# Eval("Nombre") %>' Font-Bold="true" />
                        </td>
                      </tr>
                </SelectedItemTemplate>
                <ItemTemplate>
                   
                    <tr id="Tr1" runat="server"  >
                         <td>
                           <asp:Image  ID="ImagenDirectorio" runat ="server" ImageUrl='<%# Eval("Icono") %>'  />            
                        </td>
                         <td>
                           
                           <%-- <%# Eval("Nombre") %>--%>
                           <asp:LinkButton runat="server" CommandArgument='<%# Eval("Nombre") %>' CommandName="ComandoDirectorio" ID="Directorio"  ><%# Eval("Nombre") %></asp:LinkButton>

                             <%--<asp:Label ID="NombreDirectorio" runat="server" Text='<%# Eval("Nombre") %>' />--%>
                            
                        </td>
                      </tr>
                    </ItemTemplate></asp:ListView>

                   

 

Definición de métodos


El principal y casi único evento es el ItemCommand

protected void ListViewDirectorios_ItemCommand(object sender, ListViewCommandEventArgs e)

En el se lee el tipo de cpomando que se ejecuto:
switch (e.CommandName.ToString())

Y el valor recogido como argumento:
e.CommandArgument


Este evento es lanzado por un componente que tenga el valor Command Argument y Comand Name como el del ejemplo, situado en el :

<ItemTemplate>:
<asp:LinkButton runat="server" CommandArgument='<%# Eval("Nombre") %>' CommandName="ComandoDirectorio" ID="Directorio"  ><%# Eval("Nombre") %></asp:LinkButton>

No hay comentarios:

Publicar un comentario