Datatable 筛选条件、排序 和获取datagrid当前页面 数据
- 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="测试";
}