在不使用数据库的情况下从datatable(similer到like子句)中搜索值 [英] search values from datatable (similer to like clause ) without using database

查看:83
本文介绍了在不使用数据库的情况下从datatable(similer到like子句)中搜索值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  public   partial   class  WebForm4:System.Web.UI.Page 
{

protected void Page_Load( object sender,EventArgs e)
{
if (!(IsPostBack))
{
会话[ 列表] = null ;
}
}
public static DataTable dt;
public static int i = 1 ;
// static int i = 1;
// 静态列表< string> LST;
受保护 void btnAdd_Click(对象发​​件人,EventArgs e)
{
会话[ 列表] = dt;
dt = new DataTable();
DataRow dr = null ;
// dt.Columns.Add(new DataColumn(RowNumber,typeof(int)));
dt.Columns.Add( new DataColumn( Column1 typeof string )));
// dt.Columns.Add(new DataColumn(Column2,typeof(string)));
if (会话[ 列表] == null
{
dr = dt.NewRow();
dr [ Column1] = txtAdd.Text;
dt.Rows.Add(dr);
// lst.Add(txtAdd.Text);

}
else if (会话[ 列表]!= null
{
dt = (DataTable)会话[ List];
dr = dt.NewRow();
dr [ Column1] = txtAdd.Text;
dt.Rows.Add(dr);
// lst =(List< string>)Session [List];
// lst.Insert(i,txtAdd.Text);
// i ++;

}
}

protected void btnNew_Click( object sender ,EventArgs e)
{
List< string> lst = new List< string>();
foreach (DataRow row in dt.Rows)
{
foreach (DataColumn col in dt.Columns)
{
lst.Add(行[COL]的ToString());

}
}
for int j = 0 ; j > = dt.Rows.Count; j ++)
{

}
bool isfound = lst.Contains(txtSearch.Text);
Response.Write(Convert.ToString(isfound));
dlshow.DataSource = dt;
dlshow.DataBind();
}
}

我有两个文本框一个要添加,另一个是搜索我想只绑定那些匹配值匹配搜索文本框(如'Like'子句)我是不使用任何数据库

解决方案

 DataTable dtNew = dt.Clone(); 
// 我的错误......%应该在单个qoute之后...... / span>
DataRow [] dr = dt.Select( Column1 like'%」 + txtSearch.Text.Trim()+ %');
foreach (DataRow d in dr)
{
dtNew。 ImportRow(d);
}

dlshow.DataSource = dtNew;
dlShow.DataBind();





希望这有助于!!


有看看这里:直接在数据表中过滤和排序 [ ^ ]

public partial class WebForm4 : System.Web.UI.Page
    {

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!(IsPostBack))
            {
                Session["List"] = null ;
            }
        }
        public static DataTable dt;
        public static int i = 1;
       // static int i = 1;
        //static List<string> lst; 
        protected void btnAdd_Click(object sender, EventArgs e)
        {
            Session["List"] = dt;
            dt = new DataTable();
            DataRow dr = null;
          //  dt.Columns.Add(new DataColumn("RowNumber", typeof(int)));
            dt.Columns.Add(new DataColumn("Column1", typeof(string)));
          //  dt.Columns.Add(new DataColumn("Column2", typeof(string)));
          if (Session["List"] == null)
          {
              dr = dt.NewRow();
              dr["Column1"] = txtAdd.Text;
              dt.Rows.Add(dr);
          //    lst.Add(txtAdd.Text);

          }
          else if  (Session["List"] != null)
          {
              dt = (DataTable)Session["List"];
              dr = dt.NewRow();
              dr["Column1"] = txtAdd.Text;
              dt.Rows.Add(dr);
              //lst = (List<string>)Session["List"];
              //lst.Insert(i,txtAdd.Text);
              //i++;

          }
        }

        protected void btnNew_Click(object sender, EventArgs e)
        {
            List<string> lst = new List<string>();
            foreach (DataRow row in dt.Rows)
            {
                foreach (DataColumn col in dt.Columns)
                {
                    lst.Add(row[col].ToString());
                   
                }
            }
            for (int j = 0; j >= dt.Rows.Count; j++)
            {
              
            }
            bool isfound = lst.Contains(txtSearch.Text);
            Response.Write(Convert.ToString(isfound));
            dlshow.DataSource = dt;
            dlshow.DataBind();
        }
    }

i have two textboxes one to add and other is to search i want to bind only those matching values matches with search textbox ( Like ' Like ' clause ) i am not using any data base

解决方案

DataTable dtNew = dt.Clone();
//My Mistake...the "%"  Should come after the single qoute....
DataRow[] dr = dt.Select("Column1 like '%" + txtSearch.Text.Trim() +"%'");
foreach(DataRow d in dr)
{
  dtNew.ImportRow(d);
}

dlshow.DataSource =dtNew;
dlShow.DataBind();



Hope this Helps!!


Have a look here: Filtering and Sorting Directly in Data Tables[^]


这篇关于在不使用数据库的情况下从datatable(similer到like子句)中搜索值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆