CYQ.Data 轻量数据访问层(七) 自定义数据表实现绑定常用的数据控件(上)

    xiaoxiao2022-07-15  164

    继上一节实现MDataTable之后,我们再为MDataTable加上一个NewRow()方法,以便能构造出该表的新行

    如下:

     public MDataRow NewRow()        {            MDataRow mdr = new MDataRow();            mdr.TableName = _TableName;            MDataCellStruct mdcStruct = null;            for (int i = 0; i < this.Columns.Count; i++)            {                mdcStruct=this.Columns[i];                mdr.Add(new MDataCell(ref mdcStruct));            }            return mdr;        }

     

    OK,接下来,我们新建一个Demo的web工程,在Default.aspx中随便拖一个GridView控件进去,然后在Page_Load里写下以下代码:

    MDataTable table=new MDataTable("myTableName");             table.Columns.Add("A", SqlDbType.NVarChar);             table.Columns.Add("B",SqlDbType.NVarChar);             MDataRow mdr = table.NewRow();             mdr[0].Value = "helloA";             mdr[1].Value = "111111";             table.Add(mdr);             GridView1.DataSource = table;             GridView1.DataBind();

     

    敲mdr["A"]本来是要这样敲的,不支持字符串索,只好敲了mdr[0]了,这里顺路为MDataRow加上一个字符串索引,如下:

    public MDataCell this[string Key]         {             get             {                 MDataCell dataCell = null;                 for (int i = 0; i < base.Count; i++)                 {                     if (base[i].ColumnName == Key)                     {                         dataCell = base[i];                         break;                     }                 }                 return dataCell;             }         }

     

    OK,就这样添加了两个列头,又添加了一行数据,运行后看结果如下:

    TableNameConnectionStringCapacityCountmyTableName 42

    晕,数据根本不是我们想要的....

    上面显示的列,有三个都是Table的属性,还有一个ConnectionString是Table的行的属性

    吓,咋就混在一块了。。。。

    于是,我们开始动手寻找绑定之法...

    版权声明:本文原创发表于博客园,作者为路过秋天,原文链接:http://www.cnblogs.com/cyq1162/archive/2009/11/10/1599425.html

    相关资源:jd_seckill京东抢茅台插件最新版【京东飞天茅台1499抢购】Python脚本的完整安装 使用教程
    最新回复(0)