Datatable 筛选条件、排序 和获取datagrid当前页面 数据

时间:2022-04-06 02:59:22
  • 1、转化为DataView进行筛选和排序

   DataTable dt = BL.UserInfo();//查询返回的DataTable数据

  DataTable dt2 = new DataTable();
  DataView view = new DataView();
  view.Table = dt;
  view.RowFilter = "";//条件

  view.Sort = "";//排序
  dt2 = view.ToTable();

  • 2、通过DataTable.Select()//进行筛选和排序

  DataTable dt = BL.UserInfo();

  dt.Select("a =1,a asc")//第一个参数为条件,第二个为排序  

  返回为 DataRow [] 类型

    

  • 3、获取datagrid数据

  将获取当前页面的

   DataGridItemCollection dt3 = DgdWaiting3.Items; //DgdWaiting3 为当前datagrid Id

  使用foreach(DataGridItem dg in dt3)

  将数据依次插入到DataTable 中

  DataTable  dt = new DataTable ();

  dt.Columns.Add("列");

  foreach(DataGridItem dg in dt3)

  {

     dt.Rows.Add(dg.Cells[0].Text.ToString();

  }

  

  如果取的数据中 datagrid 是构造过 表格中有文本框 和下拉框 可以通过

   DropDownList drp = (DropDownList)dg.FindControl("控件ID");  在上面循环中获取

   drp.SelectedItem.ToString()  获取DropDownList 在页面呈现的值

   TextBox txt= (TextBox)dg.FindControl("控件ID");

   txt.Text.ToString() 

 

  4、datagrid 初始化构造(控件id_ItemDataBound)中

  (1)表头的构造

  if (e.Item.ItemType == ListItemType.Header)
  {

    例: e.Item.Cells[3].Style.Add("color", "#FFCC00");

  }

  (2)列的构造

  if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
  {

     e.Item.Cells[11].Text="测试";

  }