Привязка к списку Использование databilder.eval
-
30-09-2019 - |
Вопрос
У меня есть следующий объект:
CrossTabDataObject
{
string RowName{get;set;};
int RowId{get;set;}
List<string> CellContents = new List <string>();
//Constructor..... etc.
}
Я строю динамическую сетку CrosStab с помощью GridView в ASP.NET 3.5
Я хочу привязать к CellContents [0] для динамического столбца 1, CellContents [1] для динамического столбца 2 (динамический столбец 0 представляет собой полевонное поле из CrosstabdataObject) и т. Д. Я использую:
object boundValueObj = null;
Control ctrl = (Control)sender;
IDataItemContainer dataItemContainer = (IDataItemContainer)ctrl.NamingContainer;
boundValueObj = DataBinder.Eval(dataItemContainer.DataItem, strSelectedID);
Этот код находится в функции инстанции GRIDView, поскольку я создаю раскрывающиеся шаблоны списка в каждой ячейке Crosstab.
У меня есть код (не показан), который устанавливает strselectedid в зависимости от создаваемого столбца.
Когда strselectedid равен "rowname" для динамического столбца [0] Функция databilder.eval работает нормально и устанавливает boundvalueobj, как и ожидалось. Проблема приходит, когда strselectedid установлен на «CellContents [N]», где n - индекс колонки.
Databilder.eval работает только со свойствами и полями объектов. Как мне обойти это?
Спасибо,
Богатый.
Решение
Хорошо - глупое ошибка со мной!
Изменение:
CrossTabDataObject
{
string RowName{get;set;};
int RowId{get;set;}
List<string> CellContents = new List <string>();
//Constructor..... etc.
}
к:
CrossTabDataObject
{
string RowName{get;set;};
int RowId{get;set;}
List<string> CellContents{get;set;}
//Constructor
public CrossTabDataObject()
{
CellContents = new List<string>();
}
}
сделал все разницу. Другими словами, я сделал CellContents свойство класса.
Богатый.