1.創(chuàng)建 DataGrid
<DataGrid x:Name="dataGrid" HorizontalAlignment="Left" Margin="15,195,0,0" VerticalAlignment="Top" Height="320" Width="400" AutoGenerateColumns="False">
</DataGrid>
2.列名設(shè)置
在WPF中對(duì)DataGrid控件的列名設(shè)置是非常簡(jiǎn)單方便的,跟WPF的所有控件都一樣可以對(duì)某個(gè)元素的獨(dú)立控制 ,所以對(duì)DataGrid的列名設(shè)置也不例外,我們到<DataGrid.Columns>進(jìn)行設(shè)置即可。
<DataGrid x:Name="dataGrid" HorizontalAlignment="Left" Margin="15,195,0,0" VerticalAlignment="Top" Height="320" Width="400" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="姓名" Binding="{Binding Name}" Width="80" />
<DataGridTextColumn Header="性別" Binding="{Binding SaturationAmout}" Width="80" />
<DataGridTextColumn Header="年齡" Binding="{Binding RealTimeAmout}" Width="80"/>
<DataGridTextColumn Header="生日" Binding="{Binding SumAmout}" Width="150"/>
</DataGrid.Columns>
</DataGrid>
在<DataGridTextColumn> 中的 Header 就是設(shè)置的列名了,如: Header="實(shí)時(shí)數(shù)據(jù)"
3.數(shù)據(jù)綁定
---------------------------------------------前臺(tái)代碼----------------------------------------------
(1)在資源視圖xml文件的DataGrid,并設(shè)置綁定。
<DataGrid x:Name="DATA_GRID" ItemsSource="{Binding}" HorizontalAlignment="Left" Margin="15,195,0,0" VerticalAlignment="Top" Height="320" Width="400" AutoGenerateColumns="False" BorderBrush="#FF96B8D8" IsSynchronizedWithCurrentItem="False" SelectionChanged="DATA_GRID_SelectionChanged" >
<DataGrid.Columns>
<DataGridTextColumn Header="姓名" Width="80" Binding="{Binding name}"/>
<DataGridTextColumn Header="性別" Width="80" Binding="{Binding sex}"/>
<DataGridTextColumn Header="年齡" Width="80" Binding="{Binding age}"/>
<DataGridTextColumn Header="生日" Width="150" Binding="{Binding birthday}"/>
</DataGrid.Columns>
</DataGrid>
ItemsSource="{Binding}" 和Binding="{Binding name}" Binding="{Binding sex}"進(jìn)行數(shù)據(jù)綁定,其中name和age是對(duì)應(yīng)的屬性名。
(2)如果要讓DataGridComboBoxColumn中下拉列表的內(nèi)容為制定枚舉類型的內(nèi)容,則要指定靜態(tài)資源。這樣,整個(gè)xaml文件應(yīng)進(jìn)行設(shè)置:
Title="我的窗口" Height="577" Width="839" Loaded="LoadData">
其中LoadData是添加數(shù)據(jù)的方法名。
---------------------------------------------后臺(tái)代碼----------------------------------------------
(3)在項(xiàng)目中創(chuàng)建一個(gè)people類,并寫get,set方法。
//people類
public class people
{
public string name { get; set; }
public string sex { get; set; }
public string age { get; set; }
public string birthday { get; set; }
}
/// <summary>
/// MainWindow.xaml 的交互邏輯
/// </summary>
public partial class MainWindow : Window
{
//創(chuàng)建people數(shù)組
ObservableCollection<people> peopleList = new ObservableCollection<people>();
public MainWindow()
{
InitializeComponent();
}
注意:如果不寫get,set,數(shù)據(jù)將不會(huì)加載到DataGrid中
(4)實(shí)現(xiàn)數(shù)據(jù)添加
//創(chuàng)建dataGrid數(shù)據(jù)
private void LoadData(object sender, RoutedEventArgs e)
{
peopleList.Add(new people()
{
name = "小明",
age = "18",
sex = "男",
birthday = "1990-9-9"
});
peopleList.Add(new people()
{
name = "小紅",
age = "18",
sex = "女",
birthday = "1990-9-9"
});
((this.FindName("DATA_GRID")) as DataGrid).ItemsSource = peopleList;
}