やりたいこと
DataGridにデータを登録する。この辺に書いてあるのとは違って、データベースとかは使わないで自分で保持している配列的なものを登録する方法を紹介。
http://www.atmarkit.co.jp/fdotnet/chushin/learningdatagrid_02/learningdatagrid_02_01.html
listviewでやった方法でやってみたらできたので、これでよいのかなぁという感じですが。
step1
ツールボックスからDataGridをウィンドウにD&Dする。 D&Dしただけだと小さいので大きくする。step2
DataGridのプロパティを表示させて、名前欄にDataGrid1と入力する。 そのあと、DataGridのXAMLに、ItemsSource="{Binding}"を追記する。- <window height="350" title="MainWindow" width="525" x:class="gridviewtest.MainWindow" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
- <grid>
- <datagrid height="162" horizontalalignment="Left" itemssource="{Binding}" margin="49,91,0,0" verticalalignment="Top" width="394" x:name="DataGrid1">
- </datagrid></grid>
- </window>
step3
イベントハンドラWindow_Loaded_1を追加して、次のようなコードを書く。- 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;
- using System.Collections.ObjectModel;
- namespace gridviewtest
- {
- /// <summary>
- /// MainWindow.xaml の相互作用ロジック
- /// </summary>
- public partial class MainWindow : Window
- {
- public MainWindow()
- {
- InitializeComponent();
- }
- CollectionViewSource view = new CollectionViewSource();
- ObservableCollection<customer> customers = new ObservableCollection<customer>();
- private void Window_Loaded_1(object sender, RoutedEventArgs e)
- {
- int itemcount = 107;
- for (int j = 0; j < itemcount; j++)
- {
- customers.Add(new Customer()
- {
- ID = j,
- Name = "item" + j.ToString(),
- Age = 10 + j
- });
- }
- view.Source = customers;
- this.DataGrid1.DataContext = view;
- }
- class Customer
- {
- public int ID { get; set; }
- public string Name { get; set; }
- public int Age { get; set; }
- }
- }
- }
- </customer></customer>
0 件のコメント:
コメントを投稿