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 には多すぎますか? ここに表示される質問のほとんどはドロップダウンに関連していますが、これは私が試みているものではありません。