zoukankan      html  css  js  c++  java
  • WPF-DataGrid增删改查绑定数据源

    Xaml

        <DataGrid Height="200"
                                   Name="dataGrid1"
                                            Margin="5,0,5,0"
                                            VerticalAlignment="Top"
                                            AlternationCount="2"
                                            AutoGenerateColumns="False"
                                            CanUserAddRows="False"
                                            CanUserDeleteRows="False"
                                            CanUserReorderColumns="False"
                                            CanUserResizeColumns="False"
                                            CanUserResizeRows="False"
                                            CanUserSortColumns="False"
                                            IsReadOnly="True"
                                            RowHeaderWidth="0"
                                            SelectionMode="Single">
                                <DataGrid.Columns>
                                    <DataGridTextColumn Width="8*" Header="账号"  Binding="{Binding Name}"></DataGridTextColumn>
                                    <DataGridTemplateColumn Width="2*"  Header="状态"  >
                                        <DataGridTemplateColumn.CellTemplate>
                                            <DataTemplate>
                                                <TextBlock
                                                                Margin="0,0,0,0"
                                                                Foreground="#666666"
                                                                Text="{Binding Age}" />
                                            </DataTemplate>
                                        </DataGridTemplateColumn.CellTemplate>
                                    </DataGridTemplateColumn>
                                </DataGrid.Columns>
                            </DataGrid>
    

    建立实体类

        public class User : INotifyPropertyChanged
        {
            private string name;
            public string Name
            {
                get
                {
                    return name;
                }
                set
                {
                    name = value;
                    OnPropertyChanged("Name");
                }
            }
            public string Age { get; set; }
     
            public event PropertyChangedEventHandler PropertyChanged;
            protected void OnPropertyChanged(string propertyName)
            {
                if (PropertyChanged != null)
                {
                    PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
                }
            }
        }
    

    增删改

            private void add_Click(object sender, RoutedEventArgs e)
            {
                //修改数据源后需手动重新赋值
                datalist.Add(new User ());
                dataGrid1.ItemsSource = null;
                dataGrid1.ItemsSource = datalist;
            }
    
            private void delete_Click(object sender, RoutedEventArgs e)
            {
                if (dataGrid1.SelectedIndex >= 0)
                {
                    //修改数据源后需手动重新赋值
                    datalist.RemoveAt(dataGrid1.SelectedIndex);
                    dataGrid1.ItemsSource = null;
                    dataGrid1.ItemsSource = datalist;
                }
            }
    
            private void update_Click(object sender, RoutedEventArgs e)
            {
                if (dataGrid1.SelectedIndex >= 0)
                {
                    //修改前台后数据源也会一起改变
                    SubRowsId().Name = "update";
                }
            }
            #region 获取选中行的原始值
            /// <summary>
            /// 获取选中行的原始值
            /// </summary>
            /// <param name="rowindex"></param>
            private User SubRowsId()
            {
                return (User)dataGrid1.SelectedItem;
            }
            #endregion
  • 相关阅读:
    校门外的树-poj
    [编程题]股票交易日
    2017计算机学科夏令营上机考试-C:岛屿面积
    2017计算机学科夏令营上机考试-B编码字符串
    2017计算机学科夏令营上机考试-A判决素数个数
    2017中国移动校园招聘考试试题一
    2017第八届蓝桥杯B组省赛C/C++程序设计大赛题解
    西科旧事的博客
    第八届蓝桥杯省赛题解
    微信小程序中的 event.target和event.currentTarget区别?
  • 原文地址:https://www.cnblogs.com/wangyinlon/p/10906862.html
Copyright © 2011-2022 走看看