C# ADO.NET数据网格字符串绑定
我有一个Datagrid,在启动时我设置了它的列集,然后我将它绑定到一个列表>,以便用数据填充它。每个嵌套列表的项数与我得到的列数相同,但是。。。我没有看到任何东西。。。将2D集合绑定到DataGrid的正确做法是什么 代码示例C# ADO.NET数据网格字符串绑定,c#,wpf,data-binding,collections,datagrid,C#,Wpf,Data Binding,Collections,Datagrid,我有一个Datagrid,在启动时我设置了它的列集,然后我将它绑定到一个列表>,以便用数据填充它。每个嵌套列表的项数与我得到的列数相同,但是。。。我没有看到任何东西。。。将2D集合绑定到DataGrid的正确做法是什么 代码示例 List<List<String>> rows = SomeFunctionThatReturnsTheRows(); this.grid.ItemsSource = rows; List rows=somefunction返回行(); thi
List<List<String>> rows = SomeFunctionThatReturnsTheRows();
this.grid.ItemsSource = rows;
List rows=somefunction返回行();
this.grid.ItemsSource=行;
谢谢,,
Miloud B.您需要在google上搜索的是绑定到嵌套集合,而不是2D集合-这样您将获得更多结果:)
回答您的问题了吗?您需要搜索的是绑定到嵌套集合,而不是2D集合-这样您会得到更多结果:) 回答你的问题了吗?试试这个
DataContext = new List<List<string>>()
{
new List<string>() {"List1-1", "List1-2", "List1-3"},
new List<string>() {"List2-1", "List2-2", "List2-3"}
};
<ListView ItemsSource="{Binding}">
<ListView.View>
<GridView>
<GridView.Columns>
<GridViewColumn DisplayMemberBinding="{Binding .[0]}" />
<GridViewColumn DisplayMemberBinding="{Binding .[1]}" />
<GridViewColumn DisplayMemberBinding="{Binding .[2]}" />
</GridView.Columns>
</GridView>
</ListView.View>
</ListView>
DataContext=newlist()
{
新列表(){“List1-1”、“List1-2”、“List1-3”},
新列表(){“List2-1”、“List2-2”、“List2-3”}
};
产生这个
试试这个
DataContext = new List<List<string>>()
{
new List<string>() {"List1-1", "List1-2", "List1-3"},
new List<string>() {"List2-1", "List2-2", "List2-3"}
};
<ListView ItemsSource="{Binding}">
<ListView.View>
<GridView>
<GridView.Columns>
<GridViewColumn DisplayMemberBinding="{Binding .[0]}" />
<GridViewColumn DisplayMemberBinding="{Binding .[1]}" />
<GridViewColumn DisplayMemberBinding="{Binding .[2]}" />
</GridView.Columns>
</GridView>
</ListView.View>
</ListView>
DataContext=newlist()
{
新列表(){“List1-1”、“List1-2”、“List1-3”},
新列表(){“List2-1”、“List2-2”、“List2-3”}
};
产生这个
那这个怎么样
var rows = new List<List<string>>()
{
new List<string>() {"List1-1", "List1-2", "List1-3"},
new List<string>() {"List2-1", "List2-2", "List2-3"}
};
GridView gv = new GridView();
this.grid.View = gv;
gv.Columns.Add(new GridViewColumn(){DisplayMemberBinding = new Binding(".[0]")});
gv.Columns.Add(new GridViewColumn(){DisplayMemberBinding = new Binding(".[1]")});
gv.Columns.Add(new GridViewColumn(){DisplayMemberBinding = new Binding(".[2]")});
this.grid.ItemsSource = rows;
var行=新列表()
{
新列表(){“List1-1”、“List1-2”、“List1-3”},
新列表(){“List2-1”、“List2-2”、“List2-3”}
};
GridView gv=新的GridView();
this.grid.View=gv;
添加(新GridViewColumn(){DisplayMemberBinding=新绑定(“[0]”)});
添加(新GridViewColumn(){DisplayMemberBinding=新绑定(“[1]”)});
添加(新GridViewColumn(){DisplayMemberBinding=新绑定(“[2]”)});
this.grid.ItemsSource=行;
那么这个怎么样
var rows = new List<List<string>>()
{
new List<string>() {"List1-1", "List1-2", "List1-3"},
new List<string>() {"List2-1", "List2-2", "List2-3"}
};
GridView gv = new GridView();
this.grid.View = gv;
gv.Columns.Add(new GridViewColumn(){DisplayMemberBinding = new Binding(".[0]")});
gv.Columns.Add(new GridViewColumn(){DisplayMemberBinding = new Binding(".[1]")});
gv.Columns.Add(new GridViewColumn(){DisplayMemberBinding = new Binding(".[2]")});
this.grid.ItemsSource = rows;
var行=新列表()
{
新列表(){“List1-1”、“List1-2”、“List1-3”},
新列表(){“List2-1”、“List2-2”、“List2-3”}
};
GridView gv=新的GridView();
this.grid.View=gv;
添加(新GridViewColumn(){DisplayMemberBinding=新绑定(“[0]”)});
添加(新GridViewColumn(){DisplayMemberBinding=新绑定(“[1]”)});
添加(新GridViewColumn(){DisplayMemberBinding=新绑定(“[2]”)});
this.grid.ItemsSource=行;
谢谢,迪恩。只有一个想法,我必须以编程方式绑定,我不能在我的上下文中编辑我的xaml。谢谢Dean。只有一个想法,我必须以编程方式绑定,我不能在我的上下文中编辑我的xaml。谢谢Matt。虽然,它并没有真正回答这个问题:p。问题是我不能编辑我的XAML,我必须找到一个100%的编程解决方案。谢谢Matt。虽然,它并没有真正回答这个问题:p。问题是我不能编辑我的XAML,我必须找到一个100%的编程解决方案。你把它搞坏了谢谢dean!我将此应用于DataGridView,它可以正常工作!但只有一个问题:grid.ItemsSource=rows会导致绑定两个后续列:Capacity和Count,它们是从列表中绑定的。。。如何排除它们?您需要关闭AutoGenerateColumns,并通过编程创建列,这样您就可以了!非常感谢你今天教了我很多;)你把它撞倒了谢谢你,迪恩!我将此应用于DataGridView,它可以正常工作!但只有一个问题:grid.ItemsSource=rows会导致绑定两个后续列:Capacity和Count,它们是从列表中绑定的。。。如何排除它们?您需要关闭AutoGenerateColumns,并通过编程创建列,这样您就可以了!非常感谢你今天教了我很多;)