您的位置:首页 > 其它

根据字段,字段条件筛选数据 两种方式(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);
}

}

}
}



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐