临时表格的操作:
#region 声明两个临时表格
public DataTable dtAddition; 左边表格
public DataTable dtBddition; 右边表格
#endregion
然后再去加载事件里面写
DataTable dt = myClient.服务端的查询方法.Tables[0];
UCStaffInformation(这个是前面表格赋予的名字).ItemsSource(这个是内容的意思) = dt.DefaultView;
//实例化左右边的表格,并给它们添加表的列,每一列的名字都要对齐前台的表格字段,
< DataGridTextColumn Header = "房号" Width = "65" Binding = "{Binding roomNumber}" Foreground = "DarkSlateBlue" FontWeight = "Black" />
< DataGridTextColumn Header = "ID" Width = "65" Binding = "{Binding roomID}" Foreground = "DarkSlateBlue" FontWeight = "Black" Visibility = "Collapsed" />
//左边,有多少字段就添加多少字段(注:要获取选中行,并且判断。需要ID(数据库也要获取),并且把它隐藏起来,别用hidden,因为占地方)
dtAddition = new DataTable();
dtAddition.Columns.Add(添加) ("roomNumber", typeof(string)); (这是数据库给的数据类型)
dtAddition.Columns.Add("", typeof());
dtAddition.Columns.Add("", typeof());
dtAddition.Columns.Add("", typeof());
dtAddition.Columns.Add("", typeof());
//右边
dtBddition = new DataTable();
dtBddition.Columns.Add("roomNumber", typeof(string));有多少列,写多少列。然后再写判断
if(dt.Rows.Count>0){//dt是页面表格数据的意思,Rows.Count是表格行的总数.大于零,然后进去循环
for (int i = 0; i<dt.rows.count; i++)
{
DataRow dr = dtAddition.NewRow();
dr["roomNumber"] = dt.Rows[i]["roomNumber"];
dr["roomID"] = dt.Rows[i]["roomID"];
dr["detailedAttributeGatherName"] = dt.Rows[i]["detailedAttributeGatherName"];
dr["housePrice"] = dt.Rows[i]["housePrice"];
dr["book"] = dt.Rows[i]["book"];
dtAddition.Rows.Add(dr);
}
}
然后再去添加按钮点击事件操作:
//添加按钮
private void addition_Click(object sender, RoutedEventArgs e)
{
try
{
if ((DataRowView)UCStaffInformation.SelectedItem != null)
{
//1.选中数据
//获取行
DataRowView dv = (DataRowView)UCStaffInformation.SelectedItem;
//绑定邻居站点表(获取主键ID)
int introomID = Convert.ToInt32(((DataRowView)UCStaffInformation.SelectedItem).Row[“roomID”]);
//绑定站点信息
//DataTable dtSite = myClient.SelectRoom().Tables[0];
//UCStaffInformation1.ItemsSource = dtSite.DefaultView;
for (int i = 0; i <dtAddition.Rows.Count; i++)
{
if(introomID == Convert.ToInt32(dtAddition.Rows[i][“roomID”]))
{
//右边的表赋值
DataRow dr = dtBddition.NewRow();
dr[“roomNumber”] = dtAddition.Rows[i][“roomNumber”];
dr[“roomID”] = dtAddition.Rows[i][“roomID”];
dr[“detailedAttributeGatherName”] = dtAddition.Rows[i][“detailedAttributeGatherName”];
dr[“housePrice”] = dtAddition.Rows[i][“housePrice”];
//添加
dtBddition.Rows.Add(dr);
UCStaffInformation1.ItemsSource = dtBddition.DefaultView;
//把左边移除
dtAddition.Rows.RemoveAt(i);
UCStaffInformation.ItemsSource = dtAddition.DefaultView;
break;
}
}
}
else
{
MessageBox.Show("请选择要添加的房间!");
}
}
catch (Exception)
{
return;
}
}
9.点击选中事件,然后获取需要的数据,再把它赋值到所需要的文本框:
try
{
if ((DataRowView)UCStaffInformation.SelectedItem != null)
{
//1.选中数据
//获取行
DataRowView dv = (DataRowView)UCStaffInformation.SelectedItem;
//获取绑定的字段
String roomNumber1 = Convert.ToString(((DataRowView)UCStaffInformation.SelectedItem).Row[“roomNumber”]);
String roomNumber2 = Convert.ToString(((DataRowView)UCStaffInformation.SelectedItem).Row[“detailedAttributeGatherName”]);
String roomNumber3 = Convert.ToString(((DataRowView)UCStaffInformation.SelectedItem).Row[“housePrice”]);
//赋值给文本框
txt_Name.Text = roomNumber1;
txt_Name1.Text = roomNumber2;
txt_Name2.Text = roomNumber3;