您的位置:首页 > 其它

WPF DataGrid简介使用

2013-12-18 10:41 369 查看
(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="ID" Binding="{Binding ID}"></DataGridTextColumn>

<DataGridTextColumn Header="Name" Binding="{Binding Name}"></DataGridTextColumn>

<DataGridTextColumn Header="Info" Binding="{Binding Info}" Width ="*"></DataGridTextColumn>

</DataGrid.Columns>

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

(3)后台代码

private void Window_Loaded(object sender, RoutedEventArgs e)

{

datagrid.ItemsSource = AccessDAL.OleDbHelper.ExecuteDataTable("SELECT * from 表名").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 = "张三", Info = ********* });

col.Add(new Employee() { Id = 2, Name = "李四", Info = ********* });

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

}

}

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: