반응형
WPF의 DataGrid에 DataTable을 바인딩 하는 방법입니다.
DataTable은 데이터베이스에 쿼리를 수행하여 생성한 것은 아니지만, 쿼리를 실행하여 생성된 DataTable과 유사하게 사용 할 수 있습니다.
1. Window에 DataGrid Control을 넣습니다.
2. DataGrid의 속성(Properties)창에서 Columns 속성의 오른쪽 [...] 버튼을 클릭합니다.
3. DataGrid에 3개(ID, Name, Telphone)의 컬럼을 추가합니다.
4. Window XAML에 추가한 DataGrid에 아래와 같이 ID, NAME, TEL_NO를 바인딩합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <Window x:Class="DataGridBinding.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded"> <Grid> <DataGrid AutoGenerateColumns="False" Height="217" HorizontalAlignment="Left" Margin="38,56,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="420"> <DataGrid.Columns> <DataGridTextColumn Header="ID" Binding="{Binding Path=ID}"/> <DataGridTextColumn Header="Name" Binding="{Binding Path=NAME}"/> <DataGridTextColumn Header="Telephone" Binding="{Binding Path=TEL_NO}"/> </DataGrid.Columns> </DataGrid> </Grid> </Window> |
5. Window의 Loaded 이벤트를 추가합니다.
6. 추가된 Window Loaded 이벤트에 아래의 코드를 입력 합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | using System; using System.Collections.Generic; using System.Linq; using System.Text; 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.Data; namespace DataGridBinding { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void Window_Loaded(object sender, RoutedEventArgs e) { // DataTable 생성 DataTable dataTable = new DataTable(); // 컬럼 생성 dataTable.Columns.Add("ID", typeof(string)); dataTable.Columns.Add("NAME", typeof(string)); dataTable.Columns.Add("TEL_NO", typeof(string)); // 데이터 생성 dataTable.Rows.Add(new string[] { "ID-01", "Name 01", "010-0001-0000" }); dataTable.Rows.Add(new string[] { "ID-02", "Name 02", "010-0002-0000" }); dataTable.Rows.Add(new string[] { "ID-03", "Name 03", "010-0003-0000" }); dataTable.Rows.Add(new string[] { "ID-04", "Name 04", "010-0004-0000" }); // DataTable의 Default View를 바인딩하기 dataGrid1.ItemsSource = dataTable.DefaultView; } } } |
※ DataTable의 Column 이름과 DataGrid의 Column의 바인딩은 아래를 참고하세요.
7. 실행 결과입니다.
아래의 동영상을 참고하세요.
반응형
'프로그래밍 속 지혜 > WPF' 카테고리의 다른 글
WPF - Window의 타이틀바(Titlebar) 없애기 (1) | 2016.04.25 |
---|---|
WPF - 커스텀 클래스를 DataGrid에 바인딩하기. (2) | 2016.04.18 |
WPF - ComboBox에 DataTable 바인딩(Binding)하기 (5) | 2016.04.12 |
WPF - 이미지 버튼 만들기 (2) | 2016.04.07 |
WPF - TabControl에 UserControl 추가하기 (3) | 2016.04.07 |
댓글