我有一个包含字典项的列表。这意味着:
List[0] = 字典项 => Item[0] = id,Item[1] = 名称,Item[2] = 数量。
我需要以网格方式在ListView控件中显示它。字典可能会有所不同。
更新:
列表中的每个项看起来像这样:
["_id"] = "11212131" ["Title"] = "这是标题" ["DateCreated"] = "某个日期"
字典内部的项可能不同。
更新2:
我正在使用以下代码创建动态GridView控件,然后将列添加到GridView控件中。它可以工作,但现在有一条长的水平线重复相同的列。我需要显示列名并在该列下显示属于该列的数据。
List[0] = 字典项 => Item[0] = id,Item[1] = 名称,Item[2] = 数量。
我需要以网格方式在ListView控件中显示它。字典可能会有所不同。
更新:
列表中的每个项看起来像这样:
["_id"] = "11212131" ["Title"] = "这是标题" ["DateCreated"] = "某个日期"
字典内部的项可能不同。
更新2:
我正在使用以下代码创建动态GridView控件,然后将列添加到GridView控件中。它可以工作,但现在有一条长的水平线重复相同的列。我需要显示列名并在该列下显示属于该列的数据。
var gridview = new GridView();
foreach (var o in objs)
{
var dic = o as Dictionary<String, Object>;
var enumerator = dic.GetEnumerator();
while (enumerator.MoveNext())
{
var current = enumerator.Current;
var gridViewColumn = new GridViewColumn();
gridViewColumn.Header = current.Key;
var binding = new Binding(current.Key);
//binding.Source = current;
gridViewColumn.DisplayMemberBinding = binding;
gridview.Columns.Add(gridViewColumn);
}
// new row
}
lvCollections.View = gridview;
更新3:
我已经接近成功。它可以工作,但只显示一个长的单行,其中包含重复的列。
var gridview = new GridView();
foreach (var o in objs)
{
var dic = o as Dictionary<String, Object>;
var enumerator = dic.GetEnumerator();
while (enumerator.MoveNext())
{var gridViewColumn = new GridViewColumn();
var current = enumerator.Current;
gridViewColumn.Header = current.Key;
var binding = new Binding();
binding.Source = current;
binding.Path = new PropertyPath("Value");
gridViewColumn.DisplayMemberBinding = binding;
gridview.Columns.Add(gridViewColumn);
}
// new row
}
lvCollections.ItemsSource = objs;
lvCollections.View = gridview;