WPF/DataGridを使ってみる
の編集
Top
/
WPF
/
DataGridを使ってみる
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
.NET
.NET/.NETでpingを実現する・System.Net.NetworkInformation.Ping
.NET/ARPテーブルを取得し表示するサンプル・GetIpNetTable
.NET/CPUコア毎の使用率を取得する
.NET/CPU使用率を取得する
.NET/DateとDateTimeの違い
.NET/HttpClientを使って指定したURLのページを取得する
.NET/IPv4からMACアドレス取得する・SendARP
.NET/IPアドレスからホスト名を取得するサンプルコード
.NET/ListのStringをカンマ区切りにする方法
.NET/Listを配列に配列をListに変換する
.NET/NET6.0でSQLiteを使ってみた Microsoft.Data.Sqlite
.NET/ODBCを使用してデータベースに接続しSQLを実行するサンプル
.NET/String.Splitで空要素を残す、空要素を削除するオプションについて
.NET/StringBuilderをバイト配列に変換する
.NET/Stringの配列をCSVにする方法
.NET/UNIX時間への変換・DateTimeOffset
.NET/UNIX時間をDateTimeOffset, DateTimeにする
.NET/Web APIからJSONを取得し値を表示する・DataContractJsonSerializer
.NET/WMIを使って物理メモリ・仮想メモリの使用量等を取得する
.NET/アルファベットを大文字、小文字に変換する
.NET/インストールされているODBCドライバ一覧を取得するサンプル
.NET/コンソールプログラムからトースト通知をするサンプル
.NET/サスペンド前・復帰の時に処理を行いたい
.NET/スペースのみの文字列、空の文字列、サイズ0の文字列を判定する
.NET/スリープの抑止、モニター電源オフの抑止のサンプルコード
.NET/ターゲットにしている.NETを確認する操作手順
.NET/テキストファイルの読込・ReadAllText,ReadAllLines
.NET/テキストファイルの読込・StreamReader
.NET/テンポラリファイルの作成・ランダムな文字列の作成を作成する
.NET/テンポラリファイル名を取得する・GetRandomFileName
.NET/ディレクトリの有無を確認する
.NET/ネットワークカードの各種情報を取得するサンプルコード
.NET/バイト配列にファイルの内容をすべて読み込む
.NET/バイナリーファイルの作成・リード・ライト
.NET/ファイルなの?ディレクトリなの?の判別
.NET/ファイルの有無を確認する
.NET/ファイル一覧を取得する・GetFiles,EnumerateFiles
.NET/プログラムに渡された引数を取得する方法
.NET/ユーザーが無操作の状態を取得する・GetLastInputInfo
.NET/三項演算子のサンプルコード
.NET/四捨五入をするときはMidpointRounding.AwayFromZeroにすること
.NET/指定した時間間隔でイベントを発行する・Timer
.NET/数値を指定した桁数分ゼロで埋めたい・ToString
.NET/文字列(String)を左右逆転し文字列(String)で返却する方法
.NET/文字列をバイト配列に変換・バイト配列を文字列に変換
.NET/文字列を区切り文字で分割する方法・Split
.NET/文字列宣言の先頭の@について
.NET/文字列数値を指定した桁数分ゼロで埋めたい・PadLeft
.NET/文字列日付をDateTimeに変換する
.NET/文字列配列orList配列に指定した文字列が存在するかを確認する方法
.NET/時間(日数+時間)が格納できるTimeSpan
.NET/月末の日を取得する方法・DaysInMonth
.NET/現在の日時を取得する
.NET/符号付バイトsbyte,符号なしbyteをintegerに変換する
.NET/管理者として実行されているかどうか確認するサンプルコード
.NET/連想配列(ハッシュ)のキーと値を取得する
.NET/連想配列(ハッシュ)を使ってみる・Dictionary
.NET/閏年かを調べる方法
AutoTicketLinkName
FrontPage
MenuBar
OSS
OSS/XYM日本円価格(シンボル日本円価格 (XYMJPYPrice)
OSS/ビットコイン日本円価格(ビットコイン日本円価格 (BitcoinJPYPrice)
RecentDeleted
VS
VS/Debug.Writeをイミディエイトウィンドウに出力する方法
VS/Visual Studio 2022に Spy++をインストールする手順
VS/VS2022の配色テーマの変更操作
VS/XAML編集に使うツールボックスの再表示する操作手順
VS/インデントなどコードを整形するショートカットの紹介
VS/コメントにするショートカットキー
VS/ショートカットキーで大文字・小文字に変換する
VS/ビルド中に中断したい場合の操作手順
WPF
WPF/DataGridを使ってみる
WPF/起動してもMainWindowを表示したくない場合
お約束
プライバシーポリシー
最初にお読みください
#navi(../) * WPFでDataGridを使ってみる [#v97082eb] WPFでDataGridを使ってみる記事となります。~ 実際にDataGridを使うための操作とC#のサンプルコードを以下に記します。~ プロジェクトの作成手順など不要でサンプルコードを見たい方は [[サンプルコード>#SAMPLECODE]] をクリックしてください。 #contents * 動作確認環境 [#j7389ada] -Windows 11 ver.22H2 -Visual Studio 2022 -.NET 6.0 * 参考サイト [#ud708f17] -Microsoft DataGrid クラス~ https://learn.microsoft.com/ja-jp/dotnet/api/system.windows.controls.datagrid * DataGridのサンプルを作ってみる [#d9f1c8c1] 以下、プロジェクトの作成、DataGridサンプルコード作成および実行までの手順を記します。 ** プロジェクトの作成 [#m3cbdd7b] 以下の手順でDataGridを使ったプロジェクトを作成します。 + Visual Studio 2022を起動します。(Visual Studio 2019でも同様の操作になると思います。) #br + 「新しいプロジェクトの作成」をクリックします。 #br #ref(01.png) #br +「WPF アプリケーション」を選択し「次へ」ボタンをクリックします。~ C#, Windows, デスクトップ でフィルタしました。~ #br #ref(02.png) #br + プロジェクト名に DataGridSample と入力し「次へ」ボタンをクリックしました。 #br #ref(03.png) #br +フレームワークに「.NET 6.0 (長期的なサポート)」を選択し「作成」ボタンをクリックします。 #br #ref(04.png) #br ** DataGridに設定し表示されるデータ格納するクラスを作成 [#gf3f281e] DataGridに表示する情報を格納する DataGridItem クラスを新規に作成します。~ クラスはDataGridの1行に相当するデータを保持します。~ 以下のようなデータを保持することにします。~ - 都道府県名(prefectures) - 市区町村(cities) - 住所(address) + クラスの作成~ クラス名は DataGridItem とします。~ #br DataGridSample を右右クリックし、「追加」→「クラス」をクリックします。 #br #ref(11.png) #br +クラスが選択されていることを確認し、名前に DataGridItem.cs と入力し「追加」ボタンをクリックします。 #br #ref(12.png) #br + DataGridItem.csソースが作成されます。~ #br #ref(13.png) #br + DataGridItem.cs を以下のようにプログラミングします。~ namespace DataGridSample { internal class DataGridItem { public DataGridItem(string prefectures, string cities, string address) { Prefectures = prefectures; Cities = cities; Address = address; } public string Prefectures { get; set; } public string Cities { get; set; } public string Address { get; set; } } } ** DataGridに表示するデータの設定 [#vc2f1385] MainWindow.xaml.cs にDataGridに表示する都道府県、市区町村、住所の値を持つ DataGridItem オブジェクトを作成します。 + MainWindow.xaml の▷をクリックし MainWindow.xaml.cs をクリックします。 #br #ref(14.png) #br +MainWindow.xaml.cs を以下のようにプログラミングします。~ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace DataGridSample { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); List<DataGridItem> dataGridItems = new List<DataGridItem>(); dataGridItems.Add(new DataGridItem("東京都", "千代田区", "千代田")); dataGridItems.Add(new DataGridItem("千葉県", "千葉市", "中央区")); dataGridItems.Add(new DataGridItem("埼玉県", "さいたま市", "浦和区")); dataGridItems.Add(new DataGridItem("神奈川県", "横浜市", "中区")); dataGridItems.Add(new DataGridItem("群馬県", "前橋市", "大手町")); dataGridItems.Add(new DataGridItem("栃木県", "宇都宮市", "塙田")); dataGridItems.Add(new DataGridItem("茨城県", "水戸市", "笠原町")); dataGridItems.Add(new DataGridItem("山梨県", "甲府市", "丸の内")); } } } ** 画面定義の MainWindow.xaml の修正 [#l86b82a9] 画面定義である、MainWindow.xaml をプログラミングします。 + 右側の「ツールボックス」をクリックします。 + ツールボックスが表示されるので、 DataGrid と入力します。 + コモンWPFコントロールが表示されるので、DataGrid を MainWindow にドラッグアンドドロップします。 #br #ref(21.png) #br * 以下のキャプチャのように配置されます。 [#oba006f3] #br #ref(22.png) #br + XAMLを修正します。 --修正箇所 <Grid> <DataGrid d:ItemsSource="{d:SampleData ItemCount=5}"/> </Grid> --修正後 <Grid> <DataGrid Name="PrefItems" AutoGenerateColumns="False"> <DataGrid.Columns> <DataGridTextColumn Header="都道府県" Binding="{Binding Prefectures}"/> <DataGridTextColumn Header="市区町村" Binding="{Binding Cities}"/> <DataGridTextColumn Header="住所" Binding="{Binding Address}"/> </DataGrid.Columns> </DataGrid> </Grid> + XAMLに記述したDataGridItemsを MainWindow.xaml.cs に宣言する~ MainWindow.xaml に記述した Name="DataGridItems" 以下の部分を MainWindow.xaml.cs に追記します。 -- 追記前(抜粋) public MainWindow() { InitializeComponent(); List<DataGridItem> dataGridItems = new List<DataGridItem>(); dataGridItems.Add(new DataGridItem("東京都", "千代田区", "千代田")); dataGridItems.Add(new DataGridItem("千葉県", "千葉市", "中央区")); dataGridItems.Add(new DataGridItem("埼玉県", "さいたま市", "浦和区")); dataGridItems.Add(new DataGridItem("神奈川県", "横浜市", "中区")); dataGridItems.Add(new DataGridItem("群馬県", "前橋市", "大手町")); dataGridItems.Add(new DataGridItem("栃木県", "宇都宮市", "塙田")); dataGridItems.Add(new DataGridItem("茨城県", "水戸市", "笠原町")); dataGridItems.Add(new DataGridItem("山梨県", "甲府市", "丸の内")); } -- 追記後(抜粋) public MainWindow() { InitializeComponent(); List<DataGridItem> dataGridItems = new List<DataGridItem>(); dataGridItems.Add(new DataGridItem("東京都", "千代田区", "千代田")); dataGridItems.Add(new DataGridItem("千葉県", "千葉市", "中央区")); dataGridItems.Add(new DataGridItem("埼玉県", "さいたま市", "浦和区")); dataGridItems.Add(new DataGridItem("神奈川県", "横浜市", "中区")); dataGridItems.Add(new DataGridItem("群馬県", "前橋市", "大手町")); dataGridItems.Add(new DataGridItem("栃木県", "宇都宮市", "塙田")); dataGridItems.Add(new DataGridItem("茨城県", "水戸市", "笠原町")); dataGridItems.Add(new DataGridItem("山梨県", "甲府市", "丸の内")); PrefItems.ItemsSource = dataGridItems; } 以下を追加しました。 PrefItems.ItemsSource = dataGridItems; ** 実行してみる [#u2d3e6e4] ビルドして実行してみます。~ ビルドエラーが発生するようであれば、プログラムや操作に誤りがないか確認してください。 + 以下の手順でビルドします。~ 「ビルド」→「ソリューションのビルド」 #br #ref(31.png) #br + 実行ボタンを押し作成したプログラムを実行します。 #br #ref(32.png) #br + 実行結果 無事実行されDataGridに値が設定され表示されました。 #br #ref(33.png) 以上、DataGridのサンプルとなります。
タイムスタンプを変更しない
#navi(../) * WPFでDataGridを使ってみる [#v97082eb] WPFでDataGridを使ってみる記事となります。~ 実際にDataGridを使うための操作とC#のサンプルコードを以下に記します。~ プロジェクトの作成手順など不要でサンプルコードを見たい方は [[サンプルコード>#SAMPLECODE]] をクリックしてください。 #contents * 動作確認環境 [#j7389ada] -Windows 11 ver.22H2 -Visual Studio 2022 -.NET 6.0 * 参考サイト [#ud708f17] -Microsoft DataGrid クラス~ https://learn.microsoft.com/ja-jp/dotnet/api/system.windows.controls.datagrid * DataGridのサンプルを作ってみる [#d9f1c8c1] 以下、プロジェクトの作成、DataGridサンプルコード作成および実行までの手順を記します。 ** プロジェクトの作成 [#m3cbdd7b] 以下の手順でDataGridを使ったプロジェクトを作成します。 + Visual Studio 2022を起動します。(Visual Studio 2019でも同様の操作になると思います。) #br + 「新しいプロジェクトの作成」をクリックします。 #br #ref(01.png) #br +「WPF アプリケーション」を選択し「次へ」ボタンをクリックします。~ C#, Windows, デスクトップ でフィルタしました。~ #br #ref(02.png) #br + プロジェクト名に DataGridSample と入力し「次へ」ボタンをクリックしました。 #br #ref(03.png) #br +フレームワークに「.NET 6.0 (長期的なサポート)」を選択し「作成」ボタンをクリックします。 #br #ref(04.png) #br ** DataGridに設定し表示されるデータ格納するクラスを作成 [#gf3f281e] DataGridに表示する情報を格納する DataGridItem クラスを新規に作成します。~ クラスはDataGridの1行に相当するデータを保持します。~ 以下のようなデータを保持することにします。~ - 都道府県名(prefectures) - 市区町村(cities) - 住所(address) + クラスの作成~ クラス名は DataGridItem とします。~ #br DataGridSample を右右クリックし、「追加」→「クラス」をクリックします。 #br #ref(11.png) #br +クラスが選択されていることを確認し、名前に DataGridItem.cs と入力し「追加」ボタンをクリックします。 #br #ref(12.png) #br + DataGridItem.csソースが作成されます。~ #br #ref(13.png) #br + DataGridItem.cs を以下のようにプログラミングします。~ namespace DataGridSample { internal class DataGridItem { public DataGridItem(string prefectures, string cities, string address) { Prefectures = prefectures; Cities = cities; Address = address; } public string Prefectures { get; set; } public string Cities { get; set; } public string Address { get; set; } } } ** DataGridに表示するデータの設定 [#vc2f1385] MainWindow.xaml.cs にDataGridに表示する都道府県、市区町村、住所の値を持つ DataGridItem オブジェクトを作成します。 + MainWindow.xaml の▷をクリックし MainWindow.xaml.cs をクリックします。 #br #ref(14.png) #br +MainWindow.xaml.cs を以下のようにプログラミングします。~ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace DataGridSample { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); List<DataGridItem> dataGridItems = new List<DataGridItem>(); dataGridItems.Add(new DataGridItem("東京都", "千代田区", "千代田")); dataGridItems.Add(new DataGridItem("千葉県", "千葉市", "中央区")); dataGridItems.Add(new DataGridItem("埼玉県", "さいたま市", "浦和区")); dataGridItems.Add(new DataGridItem("神奈川県", "横浜市", "中区")); dataGridItems.Add(new DataGridItem("群馬県", "前橋市", "大手町")); dataGridItems.Add(new DataGridItem("栃木県", "宇都宮市", "塙田")); dataGridItems.Add(new DataGridItem("茨城県", "水戸市", "笠原町")); dataGridItems.Add(new DataGridItem("山梨県", "甲府市", "丸の内")); } } } ** 画面定義の MainWindow.xaml の修正 [#l86b82a9] 画面定義である、MainWindow.xaml をプログラミングします。 + 右側の「ツールボックス」をクリックします。 + ツールボックスが表示されるので、 DataGrid と入力します。 + コモンWPFコントロールが表示されるので、DataGrid を MainWindow にドラッグアンドドロップします。 #br #ref(21.png) #br * 以下のキャプチャのように配置されます。 [#oba006f3] #br #ref(22.png) #br + XAMLを修正します。 --修正箇所 <Grid> <DataGrid d:ItemsSource="{d:SampleData ItemCount=5}"/> </Grid> --修正後 <Grid> <DataGrid Name="PrefItems" AutoGenerateColumns="False"> <DataGrid.Columns> <DataGridTextColumn Header="都道府県" Binding="{Binding Prefectures}"/> <DataGridTextColumn Header="市区町村" Binding="{Binding Cities}"/> <DataGridTextColumn Header="住所" Binding="{Binding Address}"/> </DataGrid.Columns> </DataGrid> </Grid> + XAMLに記述したDataGridItemsを MainWindow.xaml.cs に宣言する~ MainWindow.xaml に記述した Name="DataGridItems" 以下の部分を MainWindow.xaml.cs に追記します。 -- 追記前(抜粋) public MainWindow() { InitializeComponent(); List<DataGridItem> dataGridItems = new List<DataGridItem>(); dataGridItems.Add(new DataGridItem("東京都", "千代田区", "千代田")); dataGridItems.Add(new DataGridItem("千葉県", "千葉市", "中央区")); dataGridItems.Add(new DataGridItem("埼玉県", "さいたま市", "浦和区")); dataGridItems.Add(new DataGridItem("神奈川県", "横浜市", "中区")); dataGridItems.Add(new DataGridItem("群馬県", "前橋市", "大手町")); dataGridItems.Add(new DataGridItem("栃木県", "宇都宮市", "塙田")); dataGridItems.Add(new DataGridItem("茨城県", "水戸市", "笠原町")); dataGridItems.Add(new DataGridItem("山梨県", "甲府市", "丸の内")); } -- 追記後(抜粋) public MainWindow() { InitializeComponent(); List<DataGridItem> dataGridItems = new List<DataGridItem>(); dataGridItems.Add(new DataGridItem("東京都", "千代田区", "千代田")); dataGridItems.Add(new DataGridItem("千葉県", "千葉市", "中央区")); dataGridItems.Add(new DataGridItem("埼玉県", "さいたま市", "浦和区")); dataGridItems.Add(new DataGridItem("神奈川県", "横浜市", "中区")); dataGridItems.Add(new DataGridItem("群馬県", "前橋市", "大手町")); dataGridItems.Add(new DataGridItem("栃木県", "宇都宮市", "塙田")); dataGridItems.Add(new DataGridItem("茨城県", "水戸市", "笠原町")); dataGridItems.Add(new DataGridItem("山梨県", "甲府市", "丸の内")); PrefItems.ItemsSource = dataGridItems; } 以下を追加しました。 PrefItems.ItemsSource = dataGridItems; ** 実行してみる [#u2d3e6e4] ビルドして実行してみます。~ ビルドエラーが発生するようであれば、プログラムや操作に誤りがないか確認してください。 + 以下の手順でビルドします。~ 「ビルド」→「ソリューションのビルド」 #br #ref(31.png) #br + 実行ボタンを押し作成したプログラムを実行します。 #br #ref(32.png) #br + 実行結果 無事実行されDataGridに値が設定され表示されました。 #br #ref(33.png) 以上、DataGridのサンプルとなります。
テキスト整形のルールを表示する
添付ファイル:
33.png
60件
[
詳細
]
32.png
58件
[
詳細
]
31.png
49件
[
詳細
]
22.png
52件
[
詳細
]
21.png
61件
[
詳細
]
14.png
51件
[
詳細
]
13.png
60件
[
詳細
]
12.png
51件
[
詳細
]
11.png
75件
[
詳細
]
05.png
36件
[
詳細
]
04.png
46件
[
詳細
]
03.png
67件
[
詳細
]
02.png
55件
[
詳細
]
01.png
67件
[
詳細
]