zoukankan      html  css  js  c++  java
  • WPF中DataGrid使用初步

    (1)自动生成列

    <DataGrid AutoGenerateColumns="True" Name="datagrid" CanUserAddRows="False" MouseDoubleClick="datagrid_MouseDoubleClick" />

    (2)取消自动生成列,手动绑定到相应字段

    <DataGrid AutoGenerateColumns="False" Name="datagrid" CanUserAddRows="False" MouseDoubleClick="datagrid_MouseDoubleClick">
        <DataGrid.Columns>
            <DataGridTextColumn Header="编号" Binding="{Binding ID}"></DataGridTextColumn>
            <DataGridTextColumn Header="公司" Binding="{Binding CompanyName}"></DataGridTextColumn>
            <DataGridTextColumn Header="固定资产" Binding="{Binding FixedAssets}" Width ="*"></DataGridTextColumn>
        </DataGrid.Columns>
    </DataGrid>

    最后一列设置Width ="*"是为了取消空白列。

    (3)后台代码

    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        datagrid.ItemsSource = AccessDAL.OleDbHelper.ExecuteDataTable("SELECT * from Customers").DefaultView;

    //双击DataGrid,显示相应信息

    private void datagrid_MouseDoubleClick(object sender, MouseButtonEventArgs e)
    {
        DataRowView row = datagrid.SelectedItem as DataRowView;
        MessageBox.Show(row["id"].ToString());
    }

     //如果绑定到对象集合,如ObservableCollection<Employee>,代码如下:

    ObservableCollection<Employee> col;
    public EmployeeManage()
    {
        InitializeComponent();
        col = new ObservableCollection<Employee>();
        col.Add(new Employee() { Id = 1, Name = "Jim", Salary = 2500.50f });
        col.Add(new Employee() { Id = 2, Name = "John", Salary = 2600.50f });
        datagrid.ItemsSource = col;
    }

    private void datagrid_MouseDoubleClick(object sender, MouseButtonEventArgs e)
    {
        Employee emp=datagrid.SelectedItem as Employee;
        MessageBox.Show(emp.Id.ToString());
    }

    (4)删除选中的多行数据

    private void Delete_Click(object sender, RoutedEventArgs e) 
    {
        for (int i = datagrid.SelectedItems.Count - 1; i >= 0; i--)
        {
            Good good = datagrid.SelectedItems[i] as Good;
            goods.Remove(good);
        }
    }

    拣尽寒枝不肯栖,寂寞沙洲冷。
  • 相关阅读:
    ASP.NET Core 程序集注入(三)
    ASP.NET Core 程序集注入(二)
    ASP.NET Core 程序集注入(一)
    EFCore DbFirst从数据库生成实体类
    Notepad++实现代码格式化
    EF6/EFCore Code-First Timestamp SQL Server
    MySQL 实现 EF Code First TimeStamp/RowVersion 并发控制
    EntityFramework系列:MySql的RowVersion
    ansible常用命令大全
    python内置函数大全
  • 原文地址:https://www.cnblogs.com/leischen/p/2829640.html
Copyright © 2011-2022 走看看