我有一个小型数组结构,每个结构都有三个字段,都是字符串。我想在网格中显示这些结构,让用户编辑Excel中的字符串,然后检索编辑过的字符串。哪种WinForms控件最适合此?小,可编辑的字符串表。我想要哪种表单控件? (.NET)
试过一个DataGridView,但将DataSource设置为结构数组似乎没有用。有很多类似名称的控件,但我无法弄清楚什么是什么。我发现的所有例子都适合使用数据库作为数据源 - 我只有一个简单的数组。
我有一个小型数组结构,每个结构都有三个字段,都是字符串。我想在网格中显示这些结构,让用户编辑Excel中的字符串,然后检索编辑过的字符串。哪种WinForms控件最适合此?小,可编辑的字符串表。我想要哪种表单控件? (.NET)
试过一个DataGridView,但将DataSource设置为结构数组似乎没有用。有很多类似名称的控件,但我无法弄清楚什么是什么。我发现的所有例子都适合使用数据库作为数据源 - 我只有一个简单的数组。
问题是数据绑定只适用于属性而不是字段。我假设你的类是什么样子:
class Strings {
public string S1;
public string S2;
public string S3;
}
更改公共领域一样的性能,例如
class Strings {
public string S1 { get; set; }
public string S2 { get; set; }
public string S3 { get; set; }
}
而且你会发现,你可以将数据的数组绑定到DataGridView。
你真的没有得到太多的结构充满字符串。这只是推动堆栈上的3指针块,而指针指向堆。你最好使用一个类,因为你将消耗更少的堆栈空间并且最终效率更高,之后你应该能够绑定DataGridView。
你试过了ListView吗?
您可以像这样添加字符串。
foreach(Data d in datas)
{
ListViewItem item =new ListViewItem(d.first);
item.SubItems.Add(d.second);
item.SubItems.Add(d.third);
listview.Items.Add(item);
}
有一些选项可以对字符串进行内联编辑。我不记得它是哪个选项。然后,在用户编辑后,只需读取值。
谢谢。将结构更改为类,没有明显的差异。 – 2009-10-24 05:02:02
你可以请你发布你的代码吗?将生成的代码也包含在与DataGridView相关的InitializeComponent()方法中。如果您将它配置正确,默认情况下,绑定到类列表应自动生成列和显示信息。 – jrista 2009-10-24 06:26:08