2010-11-22 96 views
0

我有自定義SPlist與一些字段,我想綁定到一個可視的Web部件內的中繼器。我無法使用SPDataSource,因爲我必須在綁定之前使用列表執行一些自定義內容。Sharepoint 2010數據綁定與列表自定義列

如何以這種方式綁定自定義列?當我使用eval上的自定義專欄中,我得到一個錯誤

如果我用它做一次工作評估和演示數據源(「HoursOfOperation」)測試:

<SharePoint:SPDataSource runat="server" ID="data" DataSourceMode="List" 
    SelectCommand="<Where><Eq><FieldRef Name='CBC'/><Value Type='Boolean'>0</Value></Eq></Where>"> 
    <SelectParameters> 
     <asp:Parameter Name="WebUrl" DefaultValue="/" /> 
     <asp:Parameter Name="ListName" DefaultValue="Locations" /> 
    </SelectParameters> 
</SharePoint:SPDataSource> 

但是,如果我用下面的代碼我出現錯誤DataBinding:'Microsoft.SharePoint.SPListItem'不包含名爲'HoursOfOperation'的屬性。

SPSite site = SPContext.Current.Site; 
    SPWeb web = site.RootWeb; 

    SPQuery query = new SPQuery(); 
    query.ViewFieldsOnly = true; 
    query.Query = string.Concat(
           "<Where><Eq>", 
            "<FieldRef Name='CBC'/>", 
            "<Value Type='Boolean'>0</Value>", 
           "</Eq></Where>" 
           ); 

    SPList list = web.Lists["Locations"]; 
    SPListItemCollection items = list.GetItems(query); 

    rp.DataSource = list; 
    rp.DataBind(); 

我在這裏錯過了什麼?

回答

1

好吧,這個發現自己:

對於需要將DataItem的轉換爲SPListItem並通過名稱獲得屬性的非索引屬性。

<%# ((SPListItem)Container.DataItem)["HoursOfOperation"] %> 
相關問題