zoukankan      html  css  js  c++  java
  • 绑定数组对象DataTable.Select返回值DataRow[]

     

    方法一:

    DataTable dt = (DataTable)gvDraftList.DataSource;
    DataSet ds=new DataSet();
    ds.Merge(dt.Select(where));

    gvDraftList.DataSource = ds.Tables[0];

    方法二:

    DataTable dt = (DataTable)gvDraftList.DataSource;
    gvDraftList.DataSource = new DataView(dt, where, "", DataViewRowState.CurrentRows).ToTable();

    方法三:

    DataTable dt = (DataTable)gvDraftList.DataSource;

    DataTable temp=dt.Clone();
    foreach (DataRow dr in dt.Select(where))
    {
          //temp.Rows.Add(dr); //出错提示为:该行已经属于另一个表
          temp.Rows.Add(dr.ItemArray);
    }
    gvDraftList.DataSource = temp;

    使用扩展方法:

    using System.Data;

    namespace Bll.Ext.Object
    {
        public static class ObjExt
        {
            public static DataTable Select(this object o, string where)
            {
                DataTable dt=o as DataTable;
                if (dt !=null)
                {
                    return new DataView(dt, where, "", DataViewRowState.CurrentRows).ToTable();
                }
                else
                {
                    return null;
                }
            }
        }
    }

    调用:

    using Bll.Ext.Object;

    namespace ...
    {
            public partial class ...
             {
                  private void BindData(string where)
                  {
                             gv.DataSource = Bll.MyData.GetDataTable();
                             gv.DataSource = gv.DataSource.Select(where);
                             gv.DataBind();
                  }
             }
    }

  • 相关阅读:
    Cookie的定义和分类,及优缺点
    网页开发和设计
    电视精灵(新手练习项目)
    C#体检套餐项目
    C#简单的对象交互
    那些年我们学过的构造函数(构造方法,C#)
    员工打卡课后小项目
    SpringMVC类型转换器
    SpringMVC 异常处理3种方案
    SSH整合(一)hibernate+spring
  • 原文地址:https://www.cnblogs.com/liningit/p/4861763.html
Copyright © 2011-2022 走看看