加载中…
个人资料
水逸木
水逸木
  • 博客等级:
  • 博客积分:0
  • 博客访问:1,278
  • 关注人气:70
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

WPF DataGrid使用简介

(2014-02-25 11:27:26)
标签:

it

分类: 程序世界
1)自动生成列
"True" Name="datagrid" CanUserAddRows="False" MouseDoubleClick="datagrid_MouseDoubleClick" />
 
2)取消自动生成列,手动绑定到相应字段
"False" Name="datagrid" CanUserAddRows="False" MouseDoubleClick="datagrid_MouseDoubleClick">
"编号" Binding="{Binding ID}">
"公司" Binding="{Binding CompanyName}">
"固定资产" Binding="{Binding FixedAssets}" Width ="*">
 
最后一列设置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,代码如下:
 
ObservableCollection col;
public EmployeeManage()
{
InitializeComponent();
col = new ObservableCollection();
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);
}
}

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有