WPF DataGrid

1.創(chuàng)建 DataGrid

<DataGrid x:Name="dataGrid" HorizontalAlignment="Left" Margin="15,195,0,0" VerticalAlignment="Top" Height="320" Width="400" AutoGenerateColumns="False">
   </DataGrid>
dataGrid.png

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ù)"


dataGrid.png

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;
        }
dataGrid.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容