0

列の総数を定義する列の総数を取得する必要があるという問題があります。現在、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 設定ファイルから読み込まれる文字列 vars。私がやろうとしているのは、実行時にいくつの列があるかを示すxmlファイル内の文字列の数に依存することです。または int var を追加すると言う..

public static int totalNumberOfColumns = 8; 

次に、列を追加するループを繰り返します。

これらの方法のいずれかが可能ですか?

4

2 に答える 2

1

列ヘッダーを XML ファイルから文字列リストに取得します

List<string> columnHeaderList = new List<string>();
foreach (string header in XmlColumnList)
    columnHeaderList.Add(header);

whereXmlColumnListは値を保持している配列です。次に、必要に応じて、使用可能なすべての列ヘッダーを追加する次のメソッドを追加します。

private void DataGridHeaders(List<string> headerList)
{
    for (int i = 0; i < headerList.Count; i++)
        dataGrid.Columns[i].Header = headerList[i];
}

これが役立つことを願っています。

于 2012-08-10T10:48:02.033 に答える
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++;
        }

お役に立てれば!

于 2012-08-10T11:03:32.130 に答える