0

重複の可能性:
データグリッドにルートノードのみを表示

        this.dataGrid1 = new System.Windows.Forms.DataGrid();
        this.dataGrid1.DataMember = "";
        this.dataGrid1.Location = new System.Drawing.Point(36, 50);
        this.dataGrid1.Name = "dataGrid1";
        this.dataGrid1.Size = new System.Drawing.Size(464, 432);
        this.dataGrid1.TabIndex = 0;
        // 
        this.AutoScaleBaseSize = new System.Drawing.Size(35, 13);
        this.ClientSize = new System.Drawing.Size(592, 573);
        this.Controls.AddRange(new System.Windows.Forms.Control[] { this.dataGrid1 });
        ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
        this.ResumeLayout(false);


        XmlDataDocument xmlDatadoc = new XmlDataDocument();
        xmlDatadoc.DataSet.ReadXml("abcd.xml");

        DataSet ds = new DataSet("abc");
        ds = xmlDatadoc.DataSet;

        dataGrid1.DataSource = ds.Tables[0];

上記のコードはXMLファイルを読み取り、DataGridに表示します。XMLの対応する値を編集できるようにDataGridを編集する方法を誰かに教えてもらえますか?

4

2 に答える 2

0

XML と Datagrid Dataset は相互にリンクされていないため、Dataset から XML を記述して手動で行う必要があります。

于 2012-10-11T05:15:22.950 に答える
0

変更をDataSetXML ファイルに保存するには、単純に行う必要があります。

     ds.Tables[0] = (DataTable)(dataGrid1.DataSource);
     ds.WriteXml("your path here");

補足として、コードは少し冗長です。のインスタンスを作成すると、コードが示すように、新しいインスタンスを作成せずにそのプロパティにXmlDataDocumentアクセスできます。XML ファイルを に読み込むだけの場合は、次のようにします。DataSetDataSetDataSet

    DataSet ds = new DataSet("abc");
    ds.ReadXml("abcd.xml");

    dataGrid1.DataSource = ds.Tables[0];
于 2012-10-11T06:03:35.910 に答える