この記事は2019年09月05日に投稿しました。
目次
- 作者: WINGSプロジェクト?江賢,山田祥寛
- 出版社/メーカー: 日経BP
- 発売日: 2017/11/09
- メディア: 単行本
- この商品を含むブログを見る
1. はじめに
こんにちは、iOSのエディタアプリPWEditorの開発者の二俣です。
今回は業務で使用しているC#のDataGridでDataTableを使用する方法についてです。
2. C#のDataGridでDataTableを使用する
C#のDataGridでDataTableを使用するには、以下の様な実装になります。
実装例
MainWindow.xaml
<Window x:Class="WPFDataGridDataTable.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WPFDataGridDataTable" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800"> <Grid> <DataGrid ItemsSource="{Binding}"/> </Grid> </Window>
MainWindow.xaml.cs
using System.Data; using System.Windows; namespace WPFDataGridDataTable { /// <summary> /// MainWindow.xaml の相互作用ロジック /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); // DataTableを生成します。 var dataTable = new DataTable(); // 列を追加します。 dataTable.Columns.Add("列1"); dataTable.Columns.Add("列2"); dataTable.Columns.Add("列3"); // 行数を10とします。 var rowCount = 10; // 列数を取得します。 var columnCount = dataTable.Columns.Count; // 行数分繰り返します。 for (int i = 0; i < rowCount; ++i) { // 行を生成します。 var row = dataTable.NewRow(); // 列数分繰り返します。 for (int j = 0; j < columnCount; ++j) { // セルにデータを設定します。 // ここでは例として"{行番号}-{列番号}"を設定します。 row[j] = $"{i}-{j}"; } // DataTableに行を追加します。 dataTable.Rows.Add(row); } // DataGridにDataTableを設定します。 DataContext = dataTable; } } }
API Reference
DataGridクラス
DataTableクラス
3. おわりに
DataGridにデータを設定する方法として、DataTableを使う方法を知りました。
いまのところ使いどころはありませんが、今後のために頭の片隅に覚えておこうと思います。
- 作者: 山田祥寛
- 出版社/メーカー: 翔泳社
- 発売日: 2017/12/15
- メディア: Kindle版
- この商品を含むブログを見る
紹介している一部の記事のコードはGitlabで公開しています。
興味のある方は覗いてみてください。
私が勤務しているニューラルでは、主に組み込み系ソフトの開発を行っております。
弊社製品のハイブリッドOS Bi-OSは高い技術力を評価されており、特に制御系や通信系を得意としています。
私自身はiOSモバイルアプリやウィンドウズアプリを得意としております。
ソフトウェア開発に関して相談などございましたら、お気軽にご連絡ください。
また一緒に働きたい技術者の方も随時募集中です。
興味がありましたらご連絡ください。
EMAIL : info-nr@newral.co.jp / m-futamata@newral.co.jp
TEL : 042-523-3663
FAX : 042-540-1688