Вопрос

У меня есть следующий объект:

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 свойство класса.

Богатый.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top