WPF Datagrid добавить список <double>в качестве столбца - PullRequest
0 голосов
/ 28 мая 2018

Я не новичок в программировании, но я столкнулся с множеством неожиданных проблем с WPF DataGrid.Начнем с того, что я хочу добавить столбец для каждой коллекции программно, без привязки.

List<List<double>> collection = new List<List<double>> {
    new List<double>() {1.5, 2.5, 3.5},
    new List<double>() {1.5, 2.5},
    new List<double>() {1.5, 2.5, 3.5, 4.5}
};

Мне нужно 3 столбца, каждый для списка, и 4 строки.Очевидно, что некоторые из них будут пустыми.Заранее спасибо.

1 Ответ

0 голосов
/ 29 мая 2018

Я бы использовал DataTable, он, вероятно, даст больше гибкости для других вещей, которые вы, возможно, захотите сделать, таких как редактирование ...

DataTable dt = new DataTable();
DataColumn dc1 = new DataColumn("Value1", typeof(double));
DataColumn dc2 = new DataColumn("Value2", typeof(double));
DataColumn dc3 = new DataColumn("Value3", typeof(double));
DataColumn dc4 = new DataColumn("Value4", typeof(double));

dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
dt.Columns.Add(dc3);
dt.Columns.Add(dc4);

DataGrid dg = new DataGrid()
{
    ItemsSource = dt.DefaultView,
    Background = Brushes.Wheat,
    AlternatingRowBackground = Brushes.AliceBlue,
    VerticalScrollBarVisibility = ScrollBarVisibility.Auto,
    Height = 500,
    Width = 400,
};

dt.Rows.Add(1.5, 2.5, 3.5);
dt.Rows.Add(1.5, 2.5, null);
dt.Rows.Add(1.5, 2.5, 3.5, 4.5);

MyCanvas.Children.Add(dg);  // A canvas in the XAML
Canvas.SetTop(10,dg);
Canvas.SetLeft(10,dg);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...