2013-07-25 33 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