在WPF的.net6.0中DataGrid里实现一个操作?
现在DataGrid的名字这列已经有数据,现在我想实现一个操作,我点击这个Button,,把名字这列的所有单元格的值和一个数组里的的字符串拼串,然后把拼接后的字符串显示在班级那列,请问如何做到?目前我不知道怎么获取名字那列的数据,以及不知道如何得到一共有多少行。
你可以使用DataGrid的Columns属性来获取所有列,然后遍历每一列获取其中的单元格数据。以下是具体的代码示例:
private void Button_Click(object sender, RoutedEventArgs e)
{
string[] stringArray = new string[] { "abc", "def", "ghi" }; // 用于拼接的字符串数组
// 获取DataGrid中的名字列
DataGridColumn nameColumn = dataGrid.Columns.FirstOrDefault(c => c.Header.ToString() == "名字");
if (nameColumn != null)
{
// 遍历名字列的所有单元格并拼接字符串
StringBuilder sb = new StringBuilder();
foreach (var item in dataGrid.Items)
{
string name = nameColumn.GetCellContent(item)?.ToString();
if (!string.IsNullOrEmpty(name))
{
sb.Append(name);
sb.Append(string.Join("", stringArray)); // 将字符串数组拼接到名字后面
}
}
string result = sb.ToString(); // 最终结果
MessageBox.Show(result);
}
}
以上代码中,我们首先获取DataGrid中的名字列,然后遍历所有行获取每个单元格的数据并拼接字符串。最终结果将会弹出一个消息框显示。注意,我们使用了StringBuilder来拼接字符串,这样可以避免频繁创建字符串对象导致的性能问题。