2013-07-25 77 views
0

我需要訂購我的類別冠軍 -的ListView數據綁定字母順序

(。<%#的eval( 「CategoryDe​​scription」)的ToString()ToUpper的()%>)

按字母順序。我該怎麼做呢?謝謝!

這裏是C#後面的代碼:

protected void lstvwFileCategory_OnItemDataBound(Object sender, 
    ListViewItemEventArgs e) 
    { 
     if (e.Item.ItemType == ListViewItemType.DataItem) 
     { 
      ListViewDataItem temp = (ListViewDataItem)e.Item; 
      Files.HAHADocument_Category catdata = 
      (Files.HAHADocument_Category)temp.DataItem; 

      ListView files = new ListView(); 
      files = (ListView)e.Item.FindControl("lstvwFiles"); 

      files.DataSource = catdata.Documents; 
      files.DataBind(); 
     } 
    } 

這裏是代碼本身:

 <asp:ListView runat="server" ID="lstvwFileCategory" 
    OnItemDataBound="lstvwFileCategory_OnItemDataBound"> 
      <LayoutTemplate> 
       <asp:Literal runat="server" ID="itemPlaceholder" /> 
      </LayoutTemplate> 
      <ItemTemplate> 
       <div class="linksection"> 
        <h2><%#Eval("CategoryDescription").ToString().ToUpper()%></h2> 
        <asp:ListView runat="server" ID="lstvwFiles" 
        OnItemDataBound="lstdvwFiles_OnItemDataBound"> 
         <LayoutTemplate> 
          <asp:Literal runat="server" ID="itemPlaceholder" /> 
         </LayoutTemplate> 
       </div> 
      </ItemTemplate> 
    </asp:ListView> 

if (PageID > 0) 
    { 
     HAHA_BLL.FileRepository.Files fls = new HAHA_BLL.FileRepository.Files(); 
     lstvwFileCategory.DataSource = 
     fls.GetHAHADocument_Categories((int)PageID); 
     lstvwFileCategory.DataBind(); 
    } 
+0

你可以發佈填充'lstvwFileCategory'的代碼嗎? – greg84

+0

是的,只是發佈它。 – user2600293

+0

如果我有蘋果和橘子,目前它正在查看橘子是ID 23,而蘋果是ID 498.因此,訂單被翻轉。我只需要它看看第一個字母和字母順序。 – user2600293

回答

0

在代碼隱藏文件的頂部添加using System.Linq; ,然後將數據源分配更改爲:

lstvwFileCategory.DataSource = fls.GetHAHADocument_Categories((int)PageID) 
            .OrderBy(c => c.CategoryDescription); 
+0

這是正確的,工作完美。謝謝。 – user2600293