我有一个问题,我需要获取列的总数,它定义了总列数。目前我有一个函数,它指示DataGrid.columns上的标题文本。
public static string ColumnHeader1 = Properties.Settings.Default.ColumnHeader1;
public void dataGridHeaders()
{
dataGrid.Columns[0].Header = ColumnHeader1;
dataGrid.Columns[1].Header = ColumnHeader2;
dataGrid.Columns[2].Header = ColumnHeader3;
dataGrid.Columns[3].Header = ColumnHeader4;
dataGrid.Columns[4].Header = ColumnHeader5;
dataGrid.Columns[5].Header = ColumnHeader6;
dataGrid.Columns[6].Header = ColumnHeader7;
dataGrid.Columns[7].Header = ColumnHeader8;
}
从xml设置文件读入字符串变量。我想要做的是取决于xml文件中有多少字符串描述了运行时将有多少列。或者添加一个int var say ..
public static int totalNumberOfColumns = 8;
然后迭代循环添加列。
是否有可能采用这些方式?
答案 0 :(得分:1)
将XML文件中的列标题放入字符串列表
List<string> columnHeaderList = new List<string>();
foreach (string header in XmlColumnList)
columnHeaderList.Add(header);
其中XmlColumnList
是一个保存值的数组。现在添加以下方法,它将添加所有可用的列标题,如rwequired。
private void DataGridHeaders(List<string> headerList)
{
for (int i = 0; i < headerList.Count; i++)
dataGrid.Columns[i].Header = headerList[i];
}
我希望这会有所帮助。
答案 1 :(得分:0)
var xmlSample = @"<DataGridColumnsHeader>
<ColumnHeaderText>Name</ColumnHeaderText>
<ColumnHeaderText>Country</ColumnHeaderText>
<ColumnHeaderText>Phone</ColumnHeaderText>
</DataGridColumns>";
var counter = 0;
var elementCount = XDocument.Load(new System.IO.StringReader(xmlSample)).XPathSelectElements("//ColumnHeaderText").Count();
foreach (var element in XDocument.Load(new System.IO.StringReader(xmlSample)).XPathSelectElements("//ColumnHeaderText"))
{
dataGrid.Columns[counter].Header = element.Value;
counter++;
}
希望这有帮助!