问候!我是WPF的新手。我猜我有一个简单的需求。我需要在datagrid中显示textfile的每一行。以前不知道文件中的行数。
我正在使用streamreader来读取文本文件中的行。
当我尝试将内容添加到新行时,会添加一个新行但没有内容。
grid1.items.add(t)
'其中t是从文本文件中读取的行
我认为是项目,我知道如何添加项目并添加内容。非常感谢您的帮助。
提前感谢。
答案 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>