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);
}
}
加载中,请稍候......