C# 在运行时向WPF数据网格添加行和列
总之,我是WPF的新手。我想阅读一个.resx文件和所有具有不同文化背景的相关文件;例如,一个名为“SomeFile.resx”和“SomeFile.de-de.resx”的默认“en GB”.resx文件是德语的类似文件。当然,我可以拥有大量不同的.resx文件,这些文件涉及不同的文化背景 因此,我想将所有不同的区域性资源读入一个C# 在运行时向WPF数据网格添加行和列,c#,wpf,datagrid,C#,Wpf,Datagrid,总之,我是WPF的新手。我想阅读一个.resx文件和所有具有不同文化背景的相关文件;例如,一个名为“SomeFile.resx”和“SomeFile.de-de.resx”的默认“en GB”.resx文件是德语的类似文件。当然,我可以拥有大量不同的.resx文件,这些文件涉及不同的文化背景 因此,我想将所有不同的区域性资源读入一个DataGrid,这样 Resource Index | Resource Key | English (Default) | German 1
DataGrid
,这样
Resource Index | Resource Key | English (Default) | German
1 | SomeKey1 | Run Script | Skript Ausführen
2 | SomeKey2 | OK | OK
我的问题是如何将这些数据添加到名为DataGrid
的DataGrid
中。因此,我目前将可用的非默认.resx文件放入字典中
我曾计划创建一个列表
,保存来自不同文化背景的读者的信息,然后循环浏览列表
,并添加行
我的问题是考虑到区域性的数量是可变的,并且可能很大,将这些读取器返回的数据放入DataGrid
的最佳和最有效的方法是什么?
谢谢你抽出时间
注意:我可以添加列
但这是为这种特殊情况添加行的最佳方式。公共静态无效显示网格(数据网格d,列表S1)
{
ds=新数据集();
DataTable dt=新的DataTable();
ds.Tables.Add(dt);
DataColumn cl=新的DataColumn(“项目编号”,类型(字符串));
cl.MaxLength=200;
dt.列。添加(cl);
int i=0;
foreach(S1中的字符串s)
{
DataRow rw=dt.NewRow();
rw[“项目编号”]=S1[i];
i++;
}
d、 ItemsSource=ds.Tables[0].AsDataView();
}
使用observablecollection ItemCollection在datagrid中添加新行
itemmodel model=new itemmodel ();
model.name='Rahul';
ItemCollection.add(model);
Dictionary<string, string> resourceMap = new Dictionary<string, string>();
public static void Func(string fileName)
{
ResXResourceReader rsxr = new ResXResourceReader(fileName);
foreach (DictionaryEntry d in rsxr)
{
resourceMap.Add(d.Key.ToString(),d.Value.ToString());
}
rsxr.Close();
}
public string GetResource(string resourceId)
{
return resourceMap[resourceId];
}
DataGridTextColumn itemColumn = new DataGridTextColumn();
itemColumn.Header = "Item Number";
itemColumn.Binding = new Binding("Item Number");
dataGrid.Columns.Add(itemColumn);
public static void Display_Grid(DataGrid d, List<string> S1)
{
ds = new DataSet();
DataTable dt = new DataTable();
ds.Tables.Add(dt);
DataColumn cl = new DataColumn("Item Number", typeof(string));
cl.MaxLength = 200;
dt.Columns.Add(cl);
int i = 0;
foreach (string s in S1)
{
DataRow rw = dt.NewRow();
rw["Item Number"] = S1[i];
i++;
}
d.ItemsSource = ds.Tables[0].AsDataView();
}
itemmodel model=new itemmodel ();
model.name='Rahul';
ItemCollection.add(model);