Sharepoint 2010 привязка данных со списком пользовательских столбцов - PullRequest
0 голосов
/ 22 ноября 2010

У меня есть собственный SPlist с некоторыми полями, которые я хотел бы привязать к повторителю внутри визуальной веб-части.Я не могу использовать SPDataSource, так как перед связыванием мне нужно выполнить некоторые нестандартные действия со списком.

Как связать пользовательский столбец таким образом?Когда я использую Eval для пользовательского столбца, я получаю сообщение об ошибке

Если я провожу тест с источником данных, он снова работает 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>

Но, если я используюВ следующем коде я получаю сообщение об ошибке Привязка данных: «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 Ответ

1 голос
/ 22 ноября 2010

Хорошо, нашел это сам:

Для неиндексированных свойств необходимо преобразовать элемент данных в SPListItem и получить свойство по имени.

<%# ((SPListItem)Container.DataItem)["HoursOfOperation"] %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...