У меня есть следующий объект:
CrossTabDataObject
{
string RowName{get;set;};
int RowId{get;set;}
List<string> CellContents = new List <string>();
//Constructor..... etc.
}
Я строю динамическую сетку кросс-таблицы, используя GridView в asp.net 3.5
Я хочу привязать к CellContents [0] для динамическогостолбец 1, CellContents [1] для динамического столбца 2 (динамический столбец 0 - это поле RowName из CrossTabDataObject) и т. д. Я использую:
object boundValueObj = null;
Control ctrl = (Control)sender;
IDataItemContainer dataItemContainer = (IDataItemContainer)ctrl.NamingContainer;
boundValueObj = DataBinder.Eval(dataItemContainer.DataItem, strSelectedID);
Этот код находится в функции InstantiateIn вида сетки какСоздаю шаблоны выпадающего списка в каждой ячейке кросс-таблицы.
У меня есть код (не показан), который устанавливает strSelectedID в зависимости от создаваемого столбца.
Когда strSelectedID равен «RowName» для динамического столбца [0], функция DataBinder.Eval работает нормально и устанавливает boundValueObj, как и ожидалось.Проблема возникает, когда для strSelectedID задано значение «CellContents [n]», где n - индекс столбца.
DataBinder.Eval работает только со свойствами и полями объектов.Как мне обойти это?
Спасибо,
Рич.