多条件查询
private void txt_Select_SelectionChanged(object sender, RoutedEventArgs e)
{
string select = "";
if (txt_Select.Text != "")
{ //累加模糊查询内容
select += "staff_name like '%'+'" + txt_Select.Text.Trim() + "'+'%'" +" or operator_accounts like '%'+'" + txt_Select.Text.Trim() + "'+'%'" +" or operator_password like '%'+'" + txt_Select.Text.Trim() + "'+'%'" +" or note like '%'+'" + txt_Select.Text.Trim() + "'+'%'";
}
//查出表格里的数据
DataTable dtselect = myUS_StaffAccountManageClient.btn_Select_Click_SelectStaffAccountManage().Tables[0];
DataView dv = new DataView(dtselect);//将表格给到到视图
DataTable dt = new DataTable();//创建新的表格
if (select != "")
{
dv.RowFilter = select;//在视图查询出数据,条件为select
dt = dv.ToTable();//将视图转化成表格给到新建的Table(dt)
}
if (select == "") { dt = dv.ToTable(); }
dgAccountManage.ItemsSource = dt.DefaultView;
}
获取表格行选中的数据
DataRowView dr = ProductInformation.SelectedItem as DataRowView;
获取datatable表格第一行中某个字段的数据
表格名称.Rows[0]["Province"].ToString();
树形绑定数据(页面记得调用trre()方法)
DataTable data;
public void trre()
{
data = ProductInformationClient.selese().Tables[0];//查询数据
TreeView_BOM.Items.Clear();//清空树形的子项
if (data.Rows.Count > 0)
{
TreeViewItem item;
//从查询出来的数据中筛选出PID=0的数据
DataRow[] dr = data.Select("PID=0");
foreach (DataRow drtemp in dr)//逐条循环
{
item = new TreeViewItem();
item.Tag = drtemp["ProductSuperiorCategoryID"].ToString();//赋值
item.Header = drtemp["CategoryName"].ToString();//赋值
TreeView_BOM.Items.Add(item);//添加到树形上面去
item.IsExpanded = true ;//树形是否展开
BindNodes(item);//调用下面的方法
}
}
}
//递归方法(就是自己调用自己的方法)
public void BindNodes(TreeViewItem item)
{
DataRow[] dr = data.Select("PID=" + Convert.ToInt32(item.Tag));
if (dr != null || dr.Length > 0)
{
foreach (DataRow dtTemp in dr)
{
TreeViewItem childrens = new TreeViewItem();//声明
childrens.Tag = dtTemp["ProductSuperiorCategoryID"].ToString();//赋值
childrens.Header = dtTemp["CategoryName"].ToString();//赋值
item.Items.Add(childrens);//添加到树形上面去
item.IsExpanded = true;//树形是否展开
BindNodes(childrens);//调用自己
}
}
}
树形点击事件查询表格内容
private void TreeView_BOM_Selected(object sender, RoutedEventArgs e)
{
TreeViewItem tvi = e.OriginalSource as TreeViewItem;
string Name = tvi.Header.ToString();
int ProductSuperiorCategoryID = Convert.ToInt32(tvi.Tag);
// MessageBox.Show("类型:"+ ProductSuperiorCategoryID +" ,名称:" + Name +"");
if (ProductSuperiorCategoryID >0)
{
DataTable wo = ProductInformationClient.Shuxingselect_ProductBOM(ProductSuperiorCategoryID).Tables[0];
if (wo.Rows.Count>0)
{
ProductInformation.ItemsSource = wo.DefaultView;//绑定DGV
}
else
{
MessageBox.Show("没有改数据可以提供显示!", "系统提示", MessageBoxButton.OK, MessageBoxImage.Exclamation);
}
}
}
清空
this.Clear();
关于表格行的获取值(SelectedItem与CurrentItem的区别)
CurrentItem 用于本数据表格操作(比如:表格内部的按钮)
SelectesItem 用于数据表格之外的操作 (比如 : 表格外面的按钮要接收表格行的数据时)
显示表格行号
页面表格添加这个事件 LoadingRow 转到定义,添加 e.Row.Header = e.Row.GetIndex() + 1;