2016-12-25 14 views
0

私はWinFormsアプリケーションを持っており、XMLファイルをDataGridViewにバインドしたいと考えています。 DataGridViewの最初の2行にタイムパン(HH:MM)の時刻形式を追加する必要があります。これをどのように達成するのですか?さらに、すべての行は編集可能ですか? DataGridViewにデータを表示する最良の方法は何でしょうか。DataGridviewバインディングでWinforms C#アプリケーション

DataColumn col1 = new DataColumn("value", typeof(string)); 
DataColumn col2 = new DataColumn("comment", typeof(string)); 
this.table.Columns.Add(col1); 
this.table.Columns.Add(col2); 
this.table.ReadXml(AppDomain.CurrentDomain.BaseDirectory + "CFResource.xml"); 
table.Rows[0].Field<TimeSpan>("BhrFromTime").ToString(@"hh\:mm"); 
this.dataGridView1.DataSource = this.table; 

次のように私のXMLファイルにはなります

<root> 
    <Time> 
    <data name="BhrFromTime" xml:space="preserve"> 
    <value>08:00</value> 
    <comment>Bhr start time</comment> 
    </data> 
    <data name="BhrToTime" xml:space="preserve"> 
    <value>19:00</value> 
    <comment>bhr from time</comment> 
    </data> 
    </Time> 
    <UserWarning> 
    <data name="U0001" xml:space="preserve"> 
    <value>UW1</value> 
    <comment>UserWarning 1</comment> 
    </data> 
    <data name="U0003" xml:space="preserve"> 
    <value>UW2</value> 
    <comment>UserWarning 3</comment> 
    </data> 
    <data name="U0002" xml:space="preserve"> 
    <value>UW3</value> 
    <comment>UserWarning 2</comment> 
    </data> 
    <data name="U0004" xml:space="preserve"> 
    <value>UW4</value> 
    <comment>UserWarning 4</comment> 
    </data> 
    <data name="U0007" xml:space="preserve"> 
    <value>UW5</value> 
    <comment>user warning 5</comment> 
    </data> 
    </UserWarning> 
</root> 

答えて

2

おそらく最も簡単な方法は、DataSetにXMLファイルをロードし、DataGridViewのために、あなたのケースのバインドテーブルdataにすることです。

DataSet ds = new DataSet(); 
ds.ReadXml("xmlfile1.xml"); 
dataGridView1.DataSource = ds.Tables["data"]; 

これは次を生成します:

enter image description here

関連する問題