在我的程序中,列的数量不同,因此我为返回字符串数组的窗口创建了通用输入窗口
现在我想将输入的数据添加到DataGrid,但是不知道如何
默认的DataGrid Add方法仅支持添加对象,因此,如果添加数组,则仅添加空格。
InputWindow iw = new InputWindow(inputs.ToArray());
if (iw.ShowDialog() == true)
{
try
{
var strings = iw.GetInputs();
ActiveDataGrid.Items.Add(strings);
}
catch (ArgumentException ex)
{
Debug.WriteLine($"{ex.Message} from InputWindow");
}
}
InputWindow中的字符串正确返回
如何添加与我不断变化的列数相对应的这些值?
答案 0 :(得分:0)
您可以考虑创建仅包含字符串字段的通用类。然后将您的数组提供给类,然后将类对象提供给数据网格。
答案 1 :(得分:0)
我假设您的意思是要为数组中的每个项目向数组的每一列添加1个值。最简单的方法是为每个输入数组创建一个DataRow,以根据数组中有多少项对其进行格式化。
DataRow row = dataGrid.NewRow();
foreach (var item in array)
{
dataGrid.Columns.Add(item);
row[item] = item;
}
dataGrid.Rows.Add(row);
dataGrid.Import.Row(row);
如果您的计划是一次处理一个数组项,并且每次导入后都将清除DataGrid,这将起作用,但是如果不是这种情况,则需要创建一些通用的DataColumns,然后进行枚举数组和列的数量足以在每一列中放置一项。