Я пытаюсь заполнить ListView с помощью пользовательских DataTable. Я хочу создавать столбцы и строки динамически, из строк (toParse содержит строки, toParse2 содержит имена столбцов). Это не похоже на работу. Когда я запускаю программу, я вижу что-то вроде этого (System.Data.DataRowView):
РЕЗУЛЬТАТ
public partial class MainWindow : Window
{
ListView items;
string toParse = "1 12 13\n2 15 16\n3 9 14\n20 123 541235\n4 1234 567";
string toParse2 = "id value1 value2";
public MainWindow()
{
InitializeComponent();
items = GenerateListView(10,10);
}
public ListView GenerateListView(int posx, int posy)
{
ListView listview = new ListView();
DataTable table = new DataTable();
string[] columnNames = toParse2.Split(' ');
foreach (string name in columnNames) table.Columns.Add(name);
string[] lines = toParse.Split('\n');
foreach(string line in lines) {
string[] values = line.Split(' ');
if (values.Length==columnNames.Length)
{
DataRow row = table.NewRow();
table.Rows.Add(row);
for (int i=0; i<values.Length; i++)
{
row[i] = values[i];
}
}
}
listview.ItemsSource = table.DefaultView;
this.grid1.Children.Add(listview);
return listview;
}
}
Кроме того, когда я отлаживаю таблицу, кажется, что Count of Rows действительно работает, но список пуст (?).