我正在使用 Telerik 的 RadGrid,我希望能够将动态创建的列的 DataTextField 绑定到我用作数据源的对象内的字典内的值。
我的课程结构如下:
public class MyClass
{
public AnObject ThisObject = null;
public Dictionary<int, ClassWithStuff> AnotherObject = new Dictionary<int, ClassWithStuff>();
}
我正在动态创建列,我想以这种方式设置列的 DataTextField:
foreach (var item in ListOfPeople.OrderBy(r => r.FormattedName))
{
var col = new GridHyperLinkColumn();
rgGrid.MasterTableView.Columns.Add(col);
col.HeaderText = item.FormattedName;
col.NavigateUrl = string.Format("~/Person.aspx?id={0}", item.OID);
col.UniqueName = item.OID.ToString();
col.DataTextField = "AnotherObject[" + item.OID + "].Person.FormattedName";
}
如果数据源已设置为 MyClass 的对象列表,并且在填充该字典时,OID 将用作字典键。
这基本上是一个带有 MySQL 后端的数据透视表的 radgrid 视图。这是否可能,或者对于 DataTextField 而言,钻入字典项是否太多?我在这里看到的大多数问题都与下拉菜单有关,这不是我正在尝试的。