• 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);
        }
    }

    拣尽寒枝不肯栖,寂寞沙洲冷。
  • 相关阅读:
    监考
    初步确定五一粤东出行计划
    煤矿粉尘监控系统中心站软件3层设计
    c# 程序调用代码生成数据库
    Socket 一个服务器监听多个客户端 功能实现
    软件开发进度表
    sql server日期时间格式转换字符串简介
    Sql建表和sql语句的注意事项
    分布式设计与开发(一)宏观概述
    分布式设计与开发(四)数据拆分
  • 原文地址:https://www.cnblogs.com/leischen/p/2829640.html
Copyright © 2020-2023  润新知