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
  • 相关阅读:
    [BZOJ]2132: 圈地计划 最小割
    从最近MySQL的优化工作想到的
    Linux基本操作 9----- 认识与学习bash
    多路径配置vlome group共享存储,VG的更新。
    两位数乘法的速算方法(一)
    请对他有足够的重视——设计!
    ASP.NET中配置应用程序
    flex开发小技巧集锦
    刚制作完的SAP Sybase ASE15.7 [Sybase Central] 客户端
    Static 关键字的 5 种用法,你会几种?
  • 原文地址:https://www.cnblogs.com/wangyinlon/p/10906862.html
Copyright © 2011-2022 走看看