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

简介:

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

TableName ConnectionString Capacity Count
myTableName   4 2

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

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

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

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

版权声明:本文原创发表于博客园,作者为路过秋天,原文链接:

http://www.cnblogs.com/cyq1162/archive/2009/11/10/1599425.html

相关文章
|
6月前
|
数据库 数据安全/隐私保护
winform通过ListView绑定数据库数据源
winform通过ListView绑定数据库数据源
winform通过ListView绑定数据库数据源
|
JavaScript 前端开发
VUE之Elenent-ui之table表格导出、调用后端接口导出(后端返回流文件导出)
VUE之Elenent-ui之table表格导出、调用后端接口导出(后端返回流文件导出)
353 0
下一篇
无影云桌面