在WPF的.net 6.0中如何获取DataGrid里某列的数据赋值给List?
具体该怎么做?我需要获取一个DataGrid里面指定列(比如第1列)的所有值,并且赋值给一个List或者Array
参考下面的代码,使用Linq从数据源来查询。
List<string> columnValues = DataGrid.ItemsSource.Cast<Person>()
.Select(person => person.Name).ToList();
可以通过以下代码获取DataGrid中指定列的所有值,并赋值给List:
List<object> columnValues = new List<object>();
int columnIndex = 0; // 获取第1列
foreach (var item in dataGrid.Items)
{
var row = dataGrid.ItemContainerGenerator.ContainerFromItem(item) as DataGridRow;
if (row != null)
{
var cell = row.ItemContainerGenerator.ContainerFromIndex(columnIndex) as DataGridCell;
if (cell != null && cell.Content != null)
{
columnValues.Add(cell.Content);
}
}
}
其中,dataGrid
为你的DataGrid控件实例,columnIndex
为指定列的索引。如果你需要获取特定列的数据类型,可以将List<object>
改为List<T>
,并将代码中的object
改为对应的数据类型。