杂记a---DataTable.DefaultView.ToTable,.Sort,.RowFilter;DataTable.Copy()
2015-07-27 18:15
591 查看
string sql = ""; sql = string.Format( "select {0} from pkg_info {1} {2}", columns, Convert.GetSearchSql(searchParams, ref parameters), Convert.GetOrderBySql(orderParams));
等同于
string sql; sql = "select " + columns + " from user_collect_product a LEFT JOIN pkg_info b ON b.ProdID=a.ProdID " + Convert.GetSearchSql(searchParams, ref parameters) + Convert.GetOrderBySql(orderParams);
DataTable.DefaultView 属性
DefaultView 属性返回可用于排序、筛选和搜索 DataTable 的 DataView。
if (!IsPostBack) { DataTable dt = Xml.XmlToDataTable("Xml/menu.xml");//读取xml到datatable中 DataTable dtType = dt.Copy().DefaultView.ToTable(true, "type");//选择DataTable等数据源中的唯一值 //dtType是只返回dt的"type"那一列而已,就是说第二个table得到的是一个新的DataTable,这个DateTable只包含dt的“type”这一列的数据。 dlType.DataSource = dtType; dlType.DataBind(); foreach (DataListItem di in this.dlType.Items)//datalistitem 引用变量 不可操作!this.dltype.item 数据表的项可操作 { Label lblType = di.FindControl("lblType") as Label;// 找到lblType并委婉转换为Label控件 DataList dlDetail = di.FindControl("dlDetail") as DataList;// 找到dlDetail并委婉转换为DataList控件 DataView dv = dt.Copy().DefaultView;// 拷贝dt,并返回副本的DefaultView // 筛选dv里的数据,只取type这一字段等于lblType这个Label控件的文本内容(去掉前面空格),说白了就是筛选type等于lblType.Text.Trim() 的那一些数据 dv.RowFilter = "type='" + lblType.Text.Trim() + "'"; dv.Sort = "name asc"; dlDetail.DataSource = dv; dlDetail.DataBind(); }
DefaultView.ToTable(false, new string[] { "你要的列名", "你要的列名" });//多列只要这两列
DefaultView.ToTable(true, new string[] { "你要的列名", "你要的列名" });// DISTINCT 返回所有具有不同值的列。
DefaultView.Sort="字段名1 ASC,字段名2 DESC";//相当于 order by
DataTable.DefaultView.RowFilter里面只能写过滤条件,排序条件写到Sort属性中。
MenuDt.DefaultView.Sort = "M_BigOrder asc"; //相当于Order By MenuDt.DefaultView.RowFilter = "M_Fid='0'"; //相当于Where
DataTable.Copy 方法
返回值
类型:System.Data.DataTable新的 DataTable,它具有与该 DataTable 相同的结构(表架构和约束)和数据。
如果这些类已经过派生,则副本也具有相同的派生类。
Copy
将创建一个新 DataTable,后者与原始 DataTable 具有相同的结构和数据。 若要将结构复制到新的 DataTable,而不是复制到数据,请使用 Clone。
相关文章推荐
- adb shell 之 dumpsys
- apache worker性能调优
- centos 安装jenkins 自动构建的方式
- ssh 反向代理
- [考试维护]时隔半年的考试系统
- linux 获取当前目录名的方法
- PopupWindow点击外部区域消失(三)
- hadoop集群安装(多机,非伪集群)
- 在32位ubuntu中安装docker并且成功启动容器
- errno值(linux )
- operator 的主要用法
- RGB图像转换到CIELab空间的研究及优化
- css 网站大背景(按比例缩放背景图片)
- 阿里云Linux新手入门一
- 解决Linux系统在设置alias命令重启后失效的问题
- 让 Vim 支持 nginx 语法(syntax) 格式化配置文件
- 【linux高级程序设计】(第九章)进程间通信-管道 2
- 运维必须掌握的Linux面试题
- Centos6.3 中文输入法
- opencv各类滤波器详解