- C#, C♯, C#相談室 Part84
774 :anonymous[]:2014/09/17(水) 14:56:32.41 ID:8wy7jTEr - Linq を使った結果が、query.ToArray()
に入っています。 dataGridView1.DataSource = query.ToArray(); として、dataGridViewSorce に表示しています。 dataGridViewのデータ・ソースは、dataTable を取ることも できることは知っています。 このquery.ToArray()を dataTableに入れる事はできないでしょうか? できるだけ、簡単で早い処理で行いたいです
|
- C#, C♯, C#相談室 Part84
776 :anonymous[]:2014/09/17(水) 16:53:00.10 ID:8wy7jTEr - >>775
thanks. CopyToDataTable について調べて、下記にもあるように、 ttp://stackoverflow.com/questions/16948665/copytodatatable-method DataTable table = query.CopyToDataTable(); としたけど、CopyToDataTable() が選べない状態です。 query. で検索しても、メニューの中に、CopyToDataTableはありませんでした。 VC#2010です。
|
- C#, C♯, C#相談室 Part84
779 :anonymous[]:2014/09/17(水) 17:18:29.59 ID:8wy7jTEr - >>777,778
thanks XElement root = XElement.Load(@"C:\a.xml"); var query = from SAMPLE in root.Descendants("ACCESS") select new { aaaa = (string)SAMPLE.Element("DTTM").Value, bbb = (string)SAMPLE.Element("TYPE").Value, }; となっております。 型を合わせるの意味が勉強不足で理解できておりません。 もう少しヒントを頂けないでしょうか?
|
- C#, C♯, C#相談室 Part84
780 :anonymous[]:2014/09/17(水) 17:28:52.34 ID:8wy7jTEr - いろいろ調べてみましたが、
ttp://stackoverflow.com/questions/1595350/why-am-i-not-getting-copytodatatable-in-linq-query これ見ると、CopyToDataTable() is only available on IEnumerable<T> where T is or derives from DataRow. CopyToDataTable() は、DataRowから引き出されたIEnumerble<T>からしか有効ではない このいみもよくわからないのですが、だからどうすればいいのでしょうか?
|
- C#, C♯, C#相談室 Part84
781 :anonymous[]:2014/09/17(水) 17:36:26.17 ID:8wy7jTEr - >>778
つまり、これを実装すれば、いけるかも?ってところでしょうか でも実装の仕方がよくわかりません。 他に、query の結果から datatableを作成する方法は無いでしょうか?
|
- C#, C♯, C#相談室 Part84
783 :anonymous[]:2014/09/17(水) 18:51:46.16 ID:8wy7jTEr - >>782
>>素直にnew DataTableしてColumns.AddしてRows.Addしていけばいいよ ありがとうございます。いままで、コピペでなんとかやってきたので、l 実は、Columns.AddしてRows.Add を書くのも大変そうなのですが、できそうですね。query.ToArray からどうやって、要素を取り出すかから、調べてやってみます
|
- C#, C♯, C#相談室 Part84
784 :anonymous[]:2014/09/17(水) 19:36:26.08 ID:8wy7jTEr - foreach (var p in query.ToArray()) Console.Write("{0}\n", p);
として、query の中から、要素を取り出したいのですが、 インデックスが範囲を超えています。負でない値で、コレクションのサイズよりも小さくなければなりません。 パラメータ名:index と出てしまいます。 やりたいことは、queryからdataTable を作成したく、Columns.Add するために要素を取り出したいです ちなみに、同じ所で、dataGridView1.DataSource = query.ToArray(); はOK!です
|