C# 使datagridview从内部对象读取 A类{ INTA; B B; } B类{ int c,d; { . . . Listlist=新列表(); 正在用对象填充列表。。。。 BindingSource BindingSource=新的BindingSource(); dataGridView1.DataSource=bindingSource; dataGridView1.Update(); bindingSource.DataSource=列表;
是否可以强制dataGridView1显示包含int a、c、d值的3列C# 使datagridview从内部对象读取 A类{ INTA; B B; } B类{ int c,d; { . . . Listlist=新列表(); 正在用对象填充列表。。。。 BindingSource BindingSource=新的BindingSource(); dataGridView1.DataSource=bindingSource; dataGridView1.Update(); bindingSource.DataSource=列表;,c#,datagridview,C#,Datagridview,是否可以强制dataGridView1显示包含int a、c、d值的3列 如果不创建新类并将数据从类A复制到新类,dataGridView列只允许绑定到一级属性 如果它不是一个大的程序,或者如果你在建模阶段写的更容易,那就创建一个新的类,所有的项都在第一级 但如果你真的需要这个模型,请阅读以下内容: 这应该有助于你制作你想要的东西,但对于较小的程序(或者如果真的没有必要的话),第一种方法是更快、更简单;) 是否可以强制dataGridView1显示包含int a、c、d值的3列,而不创建新类并
如果不创建新类并将数据从类A复制到新类,dataGridView列只允许绑定到一级属性 如果它不是一个大的程序,或者如果你在建模阶段写的更容易,那就创建一个新的类,所有的项都在第一级 但如果你真的需要这个模型,请阅读以下内容: 这应该有助于你制作你想要的东西,但对于较小的程序(或者如果真的没有必要的话),第一种方法是更快、更简单;) 是否可以强制dataGridView1显示包含int a、c、d值的3列,而不创建新类并将数据从类a复制到新类 可以使用DataTable。设置列,然后遍历列表,并将每个a的每个元素作为新行添加到DataTable中。然后将DataTable用作DGV的数据源 在我看来,使用listview可以完成同样的事情
另一种选择是将b设为私有,并在A中设置为公共属性,这与b中的属性相呼应。这样,您需要的所有属性都是第一级的您可以指定绑定列,我如何实现这一点?
class A{
int a;
B b;
}
class B{
int c,d;
{
.
.
.
List<A>list = new List<A>();
Populating list with object....
BindingSource bindingSource = new BindingSource();
dataGridView1.DataSource = bindingSource;
dataGridView1.Update();
bindingSource.DataSource = list;