如何在DataGrid上显示列表?

时间:2014-08-13 16:28:34

标签: c# wpf list datagrid

List<string> f = new List<string>();
        f.Add("Hello");
        DataGrid1.ItemsSource = f;

它向我显示一个标题为“长度”的列,并在单词的长度内。 我该如何解决?

2 个答案:

答案 0 :(得分:2)

_dgCars.AutoGenerateColumns = false;

DataGridViewTextBoxColumn makeColumn = new DataGridViewTextBoxColumn();
makeColumn.DataPropertyName = "Make";
makeColumn.HeaderText = "The Car's Make";

DataGridViewTextBoxColumn modelColumn = new DataGridViewTextBoxColumn();
modelColumn.DataPropertyName = "Model";
modelColumn.HeaderText = "The Car's Model";

DataGridViewTextBoxColumn yearColumn = new DataGridViewTextBoxColumn();
yearColumn.DataPropertyName = "Year";
yearColumn.HeaderText = "The Car's Year";

_dgCars.Columns.Add(makeColumn);
_dgCars.Columns.Add(modelColumn);
_dgCars.Columns.Add(yearColumn);

BindingList<Car> cars = new BindingList<Car>();

cars.Add(new Car("Ford", "Mustang", 1967));
cars.Add(new Car("Shelby AC", "Cobra", 1965));
cars.Add(new Car("Chevrolet", "Corvette Sting Ray", 1965));

_dgCars.DataSource = cars;

在你的命名空间中使用System.Collections.Generic,虽然列表很好,但使用BindingList的优点是你还可以在datagrid中进行进一步修改,更新,你不能在列表中执行此操作...希望这可能有效为你

答案 1 :(得分:0)

定义您自己的自定义列或构建复合对象。

但是你应该更好地使用另一个控件,例如具有相同API的ListBox