您的位置:首页 > 其它

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

2016-11-23 12:02 330 查看
继上一节实现MDataTable之后,我们再为MDataTable加上一个NewRow()方法,以便能构造出该表的新行
如下:




Code


 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里写下以下代码:




Code
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加上一个字符串索引,如下:




Code
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,就这样添加了两个列头,又添加了一行数据,运行后看结果如下:

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

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

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

于是,我们开始动手寻找绑定之法...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐