根据字段,字段条件筛选数据 两种方式(string[] ; ArrayList)
2011-07-05 13:44
483 查看
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Data.OleDb; using Microsoft.Office.Tools.Excel; using System.Data.SqlClient; using System.Collections; namespace Test { public partial class Form1 : Form { public Form1() { InitializeComponent(); } #region 生成数据源 private DataSet LoadData() { try { DataTable dt = new DataTable(); dt.Columns.Add("ID", typeof(int)); dt.Columns.Add("UserName", typeof(string)); dt.Columns.Add("PassWord", typeof(string)); DataRow dr = null; dr = dt.NewRow(); dr["UserName"] = "hetao"; dr["PassWord"] = "hetaoPWD"; dt.Rows.Add(dr); dr = dt.NewRow(); dr["UserName"] = "zhouyu"; dr["PassWord"] = "zhouyPWD"; dt.Rows.Add(dr); dr = dt.NewRow(); dr["UserName"] = "jianghui"; dr["PassWord"] = "00"; dt.Rows.Add(dr); dr = dt.NewRow(); dr["UserName"] = "ZhanGuoXin"; dr["PassWord"] = "00"; dt.Rows.Add(dr); dr = dt.NewRow(); dr["UserName"] = "DingXue"; dr["PassWord"] = "DX"; dt.Rows.Add(dr); DataSet ds = new DataSet(); ds.Tables.Add(dt);//dt是你需要添加的DataTable; return ds; } catch (Exception ex) { MessageBox.Show("生成数据错误" + ex.Message); return null; } } #endregion #region 显示数据 private void btnSelectExc_Click(object sender, EventArgs e) { try { dataGridView1.DataSource = LoadData().Tables[0]; } catch (Exception ex) { MessageBox.Show("显示数据Button" + ex.Message); } } #endregion /// <summary> /// 根据字段和字段的条件,赛选数据[数组存条件] /// </summary> /// <param name="dt">数据源</param> /// <param name="Fields">字段</param> /// <param name="pids">查找条件</param> /// <returns></returns> private DataTable SortTable(DataTable dt,string Fields, string[] pids) { DataTable dt0 = dt.Clone(); //复制原表结构 for (int i = 0; i < pids.Length; i++) { if (pids[i] != string.Empty) { DataRow[] drs = dt.Select(Fields+"='" + pids[i] + "'"); if (drs.Length > 0) { foreach (DataRow dr in drs) { dt0.ImportRow(dr); //导入行 } } } } return dt0; } private void button1_Click(object sender, EventArgs e) { try { //ArrayList alist = new ArrayList(); string[] str = new string[4]; str[0] = "00"; str[1] = "DX"; dataGridView2.DataSource = SortTable(LoadData().Tables[0], "PassWord", str); } catch (Exception ex) { MessageBox.Show("Button"+ex.Message); } } #region 根据字段,字段条件筛选数据[ArrayList存条件] /// <summary> /// 根据字段,字段条件筛选数据[ArrayList存条件] /// </summary> /// <param name="dt">数据源</param> /// <param name="Fields">字段</param> /// <param name="alist">集合存条件</param> /// <returns></returns> private DataTable SortTable(DataTable dt ,String Fields,ArrayList alist) { try { DataTable dt1=null; dt1 = dt.Clone(); if (dt != null && dt.Rows.Count > 0) { for(int i =0;i < alist.Count;i++) { if((alist[i]).ToString() != string.Empty) { DataRow[] drs = dt.Select(Fields + "='" + alist[i] + "'"); if(drs.Length>0) { foreach (DataRow dr in drs) { dt1.ImportRow(dr); } } } } } return dt1; } catch (Exception ex) { MessageBox.Show("ArrayList存条件函数"+ex.Message); return null; } } #endregion private void button2_Click(object sender, EventArgs e) { try { ArrayList alist = new ArrayList(); alist.Add("00"); alist.Add("DX"); dataGridView2.DataSource = SortTable(LoadData().Tables[0], "PassWord", alist); } catch (Exception ex) { MessageBox.Show("Button"+ex.Message); } } } }
相关文章推荐
- 项目实践一:如何在列表、字典中根据条件筛选数据?
- 更新 将B表的数据更新到A表中的某个字段的sql(根据条件)
- 根据一个表中的字段属性名称作为查询条件来批量修改该表中数据
- python-2-1 如何在列表, 字典, 集合中根据条件筛选数据-列表解析-filter
- [Python高效编程] - 在列表,字典,集合中根据条件筛选数据
- python高效编程技巧1 (如何在列表,字典,集合中根据条件筛选数据)
- Python高级编程-如何在列表,字典,集合中根据条件筛选数据?
- 根据条件,进行升序或降序排列,两种方式的比较。
- sql 根据指定条件获取一个字段批量获取数据插入另外一张表字段中+MD5加密
- 如何在列表,字典,集合中根据条件筛选数据
- 根据指定表、列和条件筛选数据的通用存储过程
- 统计查询-根据条件进行count的两种实现方式- oracle
- Ehcache学习笔记(二) 根据条件筛选缓存中的数据
- excel如何对数据进行多字段同时排序、多条件组合和多条件筛选呢
- 统计查询-根据条件进行count的两种实现方式- oracle
- Python在列表,字典,集合中根据条件筛选数据
- Python实用技巧之列表、字典、集合中根据条件筛选数据详解
- Mysql 设置字段自动获取当前时间(随修改数据而更改和修改数据不更改的两种方式)
- python-1-如果在列表,字典在,集合中根据条件筛选数据?
- Python 高效编程技巧实战(2-1)如何在列表,字典, 集合中根据条件筛选数据