六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 298|回复: 0

WPF中DataGrid使用初步

[复制链接]

升级  76%

10

主题

10

主题

10

主题

童生

Rank: 1

积分
38
 楼主| 发表于 2013-1-3 15:38:06 | 显示全部楼层 |阅读模式
<div id="cnblogs_post_body">(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);
    }
}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表