• 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
  • 相关阅读:
    ACMICPC 2009 China Northeast Area Contest :(
    2576 数论
    sql source control and sql prompt
    C语言中的单精度双精度数的有效位数
    [软件调试学习笔记]防止栈缓冲区溢出的基于Cookie的安全检查机制
    A tiny introduction to asynchronous IO
    Mysql扩展之replication概述
    C语言中的单精度双精度数的有效位数
    MySQL Cluster(MySQL 集群) 初试
    MySQL Cluster(MySQL 集群) 初试
  • 原文地址:https://www.cnblogs.com/wangyinlon/p/10906862.html
Copyright © 2020-2023  润新知