オブジェクトの配列を返すエンドポイントがあります。私は、オブジェクトのキーを列にし、各オブジェクトに対応する値を持つ行を入力することによって、DevExpress GridControlを作成したいと考えています。DevExpress GridControlに動的オブジェクトを設定する方法
foreach(dynamic item in json){
report.Add(new
{
AccountID = item["AccountID"],
AccountTypeID = item["AccountTypeID"],
PrefixID = item["PrefixID"],
SuffixID = item["SuffixID"],
GenderID = item["GenderID"],
PrimaryContactID = item["PrimaryContactID"]
});
}
私はハードコードにしたくないが、私のエンドポイントから返された配列が異なっている。このために:問題はGRIDCONTROLが唯一の私は、明示的にJSONオブジェクトのキーは、このようなものであるかを定義するとき移入ということですオブジェクト構造が返されました。 これは私が今までに持っていたことですが、私の動的オブジェクトのプロパティを取得し、それらを列名にします。列名の作成には使用できますが、行はすべて空です。
public GridView()
{
InitializeComponent();
DevExpress.Mobile.Forms.Init();
PopulateGridView();
}
public async void PopulateGridView()
{
dynamic json = await model.GetItemAsync();
var report = new List<object>();
var custom = new Dictionary<string, string>();
foreach(dynamic item in json){
report.Add(item);
}
grid.ItemsSource = report;
foreach (JProperty x in (JToken)json[0])
{
TextColumn current = new TextColumn();
current.FieldName = x.Name;
grid.Columns.Add(current);
}
}
はここITypedListインターフェイスを実装するカスタムコレクションクラスを作成し、シーケンス内のすべての動的オブジェクトは、均一な構造を持っている場合はそれが
グリッドにバインドまたはデータバインドメソッドがありますか。または、おそらくこの 'grid.ItemsSource = report;'を移動してみてください。 – MethodMan
@MethodMan damn、私はgrid.ItemsSourceを移動しましたが、同じ結果が得られます –