来自textfile的wpf datagrid添加行vb

时间:2015-11-27 09:08:07

标签: wpf vb.net datagrid row

问候!我是WPF的新手。我猜我有一个简单的需求。我需要在datagrid中显示textfile的每一行。以前不知道文件中的行数。

我正在使用streamreader来读取文本文件中的行。

当我尝试将内容添加到新行时,会添加一个新行但没有内容。

grid1.items.add(t)'其中t是从文本文件中读取的行

我认为是项目,我知道如何添加项目并添加内容。非常感谢您的帮助。

提前感谢。

  • SRI

2 个答案:

答案 0 :(得分:0)

        System.IO.StreamReader file = new System.IO.StreamReader("filename.txt");
        string[] columnnames = file.ReadLine().Split(' ');
        DataTable dt = new DataTable();
        foreach (string c in columnnames)
        {
            dt.Columns.Add(c);
        }
        string newline;
        while ((newline = file.ReadLine()) != null)
        {
            DataRow dr = dt.NewRow();
            string[] values = newline.Split(' ');
            for (int i = 0; i < values.Length; i++)
            {
                dr[i] = values[i];
            }
            dt.Rows.Add(dr);
        }
        file.Close();
        dataGridView1.DataSource = dt;

试试这个

答案 1 :(得分:0)

必须添加列并设置正确的Binding。

代码中的所有内容:

string[] lines = {"line1", "line2" };

DataGridTextColumn col1 = new DataGridTextColumn();
Dgrd.Columns.Add(col1);
col1.Binding = new Binding(".");

Dgrd.Items.Add(lines[0]);

在XAML中添加列:

<DataGrid.Columns>
  <DataGridTextColumn Binding="{Binding .}"/>
</DataGrid.Columns>

没有直接的Items.Add:

string[] lines = { "line1", "line2" };
Dgrd.ItemsSource = lines.ToList();

<DataGrid.Columns>
  <DataGridTextColumn Binding="{Binding .}"/>
</DataGrid.Columns>