2009-10-24 33 views
0

我有一个小型数组结构,每个结构都有三个字段,都是字符串。我想在网格中显示这些结构,让用户编辑Excel中的字符串,然后检索编辑过的字符串。哪种WinForms控件最适合此?小,可编辑的字符串表。我想要哪种表单控件? (.NET)

试过一个DataGridView,但将DataSource设置为结构数组似乎没有用。有很多类似名称的控件,但我无法弄清楚什么是什么。我发现的所有例子都适合使用数据库作为数据源 - 我只有一个简单的数组。

回答

0

问题是数据绑定只适用于属性而不是字段。我假设你的类是什么样子:

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。

1

你真的没有得到太多的结构充满字符串。这只是推动堆栈上的3指针块,而指针指向堆。你最好使用一个类,因为你将消耗更少的堆栈空间并且最终效率更高,之后你应该能够绑定DataGridView。

+0

谢谢。将结构更改为类,没有明显的差异。 – 2009-10-24 05:02:02

+0

你可以请你发布你的代码吗?将生成的代码也包含在与DataGridView相关的InitializeComponent()方法中。如果您将它配置正确,默认情况下,绑定到类列表应自动生成列和显示信息。 – jrista 2009-10-24 06:26:08

1

你试过了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); 
} 

有一些选项可以对字符串进行内联编辑。我不记得它是哪个选项。然后,在用户编辑后,只需读取值。