我正在制作一个通用转换器,它会读取你扔进去的任何文件,其中包含#34; map"它的数据如下:
我有三节课: DataValue,具有值,行和列属性。 DataArray,它是DataValues的列表。 DataArrayList,它是DataArrays的列表。
我尝试将其放在具有非预设置列的数据网格中,因为它应该能够读取任何内容。
这里有一些代码:
public void FillRows(DataArrayList arrayList)
{
DataArray headers = arrayList.First();
AddColumns(headers);
DataList = new List<DataArray>();
lijstitems = new List<DataValue>();
foreach (DataArray dataArrays in arrayList)
{
DataList.Add(new DataArray { datavalues = dataArrays.datavalues });
}
DataContext = this;
}
现在这给了我数组的通用名称,作为测试,我试图在文本框中显示它。现在我想知道如何获得一个将每个DataValue显示为新列的设置。
private void DataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
DataArray array = (DataArray)DataGrid.SelectedItem;
var arraychar = array.datavalues.ToArray();
textBox1.Text = arraychar[0].value.ToString();
textBox2.Text = arraychar[1].value.ToString();
textBox3.Text = arraychar[2].value.ToString();
textBox4.Text = arraychar[3].value.ToString();
textBox5.Text = arraychar[4].value.ToString();
}
这会显示我输入的正确值。
答案 0 :(得分:0)
定义要在DataGrid
中显示的每个值的列:
DataGrid.AutoGenerateColumns = false;
DataGrid.Columns.Add(new DataGridTextColumn() { Binding = new Binding("[0]") });
DataGrid.Columns.Add(new DataGridTextColumn() { Binding = new Binding("[1]") });
DataGrid.Columns.Add(new DataGridTextColumn() { Binding = new Binding("[2]") });
DataGrid.Columns.Add(new DataGridTextColumn() { Binding = new Binding("[3]") });
DataGrid.Columns.Add(new DataGridTextColumn() { Binding = new Binding("[4]") });