Привязать DataGrid к словарю в ASP.NET - PullRequest
1 голос
/ 06 мая 2010

В ASP.NET связывание DataGrid со списком объектов очень просто.

Я получаю строку для каждого объекта в списке, и любая ячейка в данной строке связана со свойством соответствующего объекта.

Однако предположим, что одним из свойств моего объекта является словарь, и каждое из них должно содержать определенный ключ. Есть ли способ привязать один из моих DataGridColumns к этому ключу словаря?

Спасибо.

Ответы [ 3 ]

1 голос
/ 07 мая 2010

Если вы добавите обработчик для DataGrid.ItemDataBound, вы можете явно установить значение столбца из своего словаря. Самый простой пример:

protected void OnItemDataBound(object sender, DataGridItemEventArgs e)
{
    myclass mine = (myclass) e.Item.DataItem;

    int cellindex = 5;
    e.Item.Cells[cellindex].Text = mine.mydict["thekey"];
}
0 голосов
/ 07 мая 2010

Другой вариант - добавить свойство к вашему классу, которое возвращает значение для этого конкретного ключа.

public string TheKey
{        
    get { return MyDictionary["thekey"]; }
}

(По этой причине пуристам может не понравиться идея добавления свойства к вашему объекту, но это упрощает решение.)

0 голосов
/ 07 мая 2010

Я не знаком с работами привязок DataGrid, но привязка в целом может быть сделана для любой общедоступной собственности.Попробуйте связать с Key и Value на Dictionary

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...