title: How I can sort a ListView about a LinkButton
body: <p>I use a ListView in my ASP.Net Application with the Columns </p>
  
  <p><code>[Lastname] [Firstname] [telephonenumber][Department][eMail]</code> and </p>
  
  <p>My ListView built in LayoutTemplate, ItemTemplate and AlternatingItemTemplate.</p>
  
  <p>Now I want that if I <strong>click</strong> on The Headertext Lastname or Firstname that I get a sortlist.
  How I can do this?</p>
  
  <p>Here is my ListView:</p>
  
  <pre><code>   &lt;asp:ListView runat="server" ID="myListView" OnItemCommand="myListView_ItemCommand" OnSelectedIndexChanging="myListView_SelectedIndexChanging"&gt;
  
      &lt;LayoutTemplate&gt;
          &lt;table id="UserTable" runat="server" border="0" width="800" cellpadding="0" cellspacing="0"&gt;
              &lt;tr style="background-color:#E5E5FE" class="TableClass"&gt;
                  &lt;th align="left" id="th4" runat="server"&gt;&lt;asp:LinkButton CommandName="Sort" CommandArgument="Nachname" ID="lnkNachname" runat="server" &gt;id_Nachname&lt;/asp:LinkButton&gt;&lt;/th&gt;
                  &lt;th align="left" id="th3" runat="server"&gt;&lt;asp:LinkButton CommandName="Sort" CommandArgument="Vorname" ID="lnkVorname" runat="server" &gt;id_Vorname&lt;/asp:LinkButton&gt;&lt;/th&gt;
                  &lt;th align="left" id="th5" runat="server"&gt;&lt;asp:Label ID="lnkTelefon" runat="server" &gt;id_Telefon&lt;/asp:Label&gt;&lt;/th&gt;
                  &lt;th align="left" id="th6" runat="server"&gt;&lt;asp:Label ID="lnkAbteilung" runat="server"&gt;id_Abteilung&lt;/asp:Label&gt;&lt;/th&gt;
                  &lt;th align="left" id="th2" runat="server"&gt;&lt;asp:Label ID="lnkemail" runat="server" &gt;id_Email&lt;/asp:Label&gt;&lt;/th&gt; 
              &lt;/tr&gt;
              &lt;tr runat="server" id="ItemPlaceholder"&gt;
              &lt;/tr&gt;
          &lt;/table&gt;
      &lt;/LayoutTemplate&gt;
  
      &lt;ItemTemplate&gt;
  
          &lt;tr class="TableClass"&gt; 
               &lt;td align="left"&gt;&lt;asp:LinkButton  CssClass="MyLink"  CommandName="Select" CommandArgument='&lt;%# Container.DataItemIndex %&gt;' ID="Label4" Text='&lt;%# Eval("Nachname") %&gt;' runat="server"  /&gt;&lt;/td&gt;
               &lt;td align="left"&gt;&lt;asp:LinkButton  CssClass="MyLink" CommandName="Select" CommandArgument='&lt;%# Container.DataItemIndex %&gt;' ID="Label3" Text='&lt;%# Eval("Vorname") %&gt;' runat="server" /&gt;&lt;/td&gt;
               &lt;td align="left"&gt;&lt;asp:LinkButton  CssClass="MyLink"  CommandName="Select" CommandArgument='&lt;%# Container.DataItemIndex %&gt;' ID="Label5" Text='&lt;%# Eval("Telefonnummer") %&gt;' runat="server"  /&gt;&lt;/td&gt;
               &lt;td align="left"&gt;&lt;asp:LinkButton  CssClass="MyLink"  CommandName="Select" CommandArgument='&lt;%# Container.DataItemIndex %&gt;' ID="Label7" Text='&lt;%# Eval("Abteilung") %&gt;' runat="server"  /&gt;&lt;/td&gt;
               &lt;td align="left"&gt;&lt;asp:LinkButton  CssClass="MyLink"  CommandName="Select" CommandArgument='&lt;%# Container.DataItemIndex %&gt;' ID="Label2" Text='&lt;%# Eval("eMail") %&gt;' runat="server" /&gt;&lt;/td&gt;
  
  
            &lt;td align="left"&gt;&lt;asp:Label ID="Label6" Text='&lt;%# Eval("GUID") %&gt;' runat="server" Visible="False" /&gt;&lt;/td&gt;
  
          &lt;/tr&gt;
  
      &lt;/ItemTemplate&gt;
  
      &lt;AlternatingItemTemplate&gt;
  
          &lt;tr class="TableClass"&gt; 
              &lt;td align="left"&gt;&lt;asp:LinkButton  CssClass="MyLink"  CommandName="Select" CommandArgument='&lt;%# Container.DataItemIndex %&gt;' ID="Label4" Text='&lt;%# Eval("Nachname") %&gt;' runat="server" /&gt;&lt;/td&gt;
              &lt;td align="left"&gt;&lt;asp:LinkButton  CssClass="MyLink"  CommandName="Select" CommandArgument='&lt;%# Container.DataItemIndex %&gt;' ID="Label3" Text='&lt;%# Eval("Vorname") %&gt;' runat="server" /&gt;&lt;/td&gt;
              &lt;td align="left"&gt;&lt;asp:LinkButton CssClass="MyLink" CommandName="Select" CommandArgument='&lt;%# Container.DataItemIndex %&gt;' ID="Label5" Text='&lt;%# Eval("Telefonnummer") %&gt;' runat="server" /&gt;&lt;/td&gt;
              &lt;td align="left"&gt;&lt;asp:LinkButton  CssClass="MyLink"  CommandName="Select" CommandArgument='&lt;%# Container.DataItemIndex %&gt;' ID="Label7" Text='&lt;%# Eval("Abteilung") %&gt;' runat="server"  /&gt;&lt;/td&gt;
              &lt;td align="left"&gt;&lt;asp:LinkButton CssClass="MyLink" CommandName="Select" CommandArgument='&lt;%# Container.DataItemIndex %&gt;' ID="Label2" Text='&lt;%# Eval("eMail") %&gt;' runat="server" /&gt;&lt;/td&gt;
  
              &lt;td align="left"&gt;&lt;asp:Label ID="Label6" Text='&lt;%# Eval("GUID") %&gt;' runat="server" Visible="False" /&gt;&lt;/td&gt;
  
          &lt;/tr&gt;
  
      &lt;/AlternatingItemTemplate&gt;
  
      &lt;/asp:ListView&gt;
  </code></pre>
  
  <p>cs code:</p>
  
  <pre><code>protected void myListView_Sorting(object sender, ListViewSortEventArgs e)
      {
          if (e.SortExpression == "Vorname")
          {
              e.SortDirection = System.Web.UI.WebControls.SortDirection.Ascending;
          }
          else
          {
              e.SortDirection = System.Web.UI.WebControls.SortDirection.Ascending;
          }
  
      }
  </code></pre>