`
webcode
  • 浏览: 5940497 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

DataTable绑定Table控件中的数据(vb.net之经典应用)

 
阅读更多


//把tbl传递过来时一定要指定其类型,不然会出现对象未实例化

Subbind_table()Subbind_table(ByValtblAsDataTable)
DimcnAsNewSqlClient.SqlConnection(P_Con)
DimcmdAsSqlClient.SqlCommand=cn.CreateCommand
DimadptAsNewSqlClient.SqlDataAdapter(cmd)
DimtblAsNewDataTable//数据绑定,绑定Table表
cmd.CommandTimeout
=3000
Try
cmd.CommandText
=str
adpt.Fill(tbl)
DimiAsInteger
DimjAsInteger
DimtrblmAsDataRow=tbl.NewRow先新增一行,并给该行的元素赋初始值
trblm.Item(
0)="合计"
trblm.Item(
1)=tbl.Compute("sum(inum)","")
trblm.Item(
"heji")=tbl.Compute("sum(heji)","")//对heji字段这一列,进行求和运算运算
trblm.Item(
"zdinum")=tbl.Compute("sum(zdinum)","")
trblm.Item(
"zdiprice")=tbl.Compute("sum(zdiprice)","")
trblm.Item(
"zdheji")=tbl.Compute("sum(zdheji)","")
trblm.Item(
"ewinum")=tbl.Compute("sum(ewinum)","")
trblm.Item(
"ewiprice")=tbl.Compute("sum(ewiprice)","")
trblm.Item(
"ewheji")=tbl.Compute("sum(ewheji)","")
trblm.Item(
"xpinum")=tbl.Compute("sum(xpinum)","")
trblm.Item(
"xpiprice")=tbl.Compute("sum(xpiprice)","")
trblm.Item(
"xpheji")=tbl.Compute("sum(xpheji)","")
tbl.Rows.InsertAt(trblm,
0)//将合计插入第一行,插入到DataTable对象中(指定位置的插入操作)

Fori=0Totbl.Rows.Count–1    //统计当前dataTable表中所有行的个数
DimtrAsNewUI.WebControls.TableRow   //(此处定义的是一个TableRow控件)
Forj=0Totbl.Columns.Count–1   //统计当前dataTable表中列的个数
DimthecellAsNewUI.WebControls.TableCell//此处定义了一个单元格
thecell.Font.Size
=FontUnit.Point(9)
thecell.BorderStyle
=BorderStyle.Solid//给每一个单元格的属性赋值
thecell.BorderWidth
=Unit.Point(1)   //指定了当前表的边框宽度,控制表的美观
IfIsNumeric(IIf(tbl.Rows(i)(j)IsDBNull.Value,"",tbl.Rows(i)(j)))=TrueThen
thecell.HorizontalAlign
=HorizontalAlign.Right(指定对齐方式为右对齐)
//指定表中内容的对齐方式,用IF语句判断是数字类型还是文字类型,如为数字类型,则左对齐,反之,右对齐
Else
thecell.HorizontalAlign
=HorizontalAlign.Left(指定对齐方式为左对齐)
EndIf
thecell.Wrap
=False
thecell.Height
=Unit.Pixel(20)//指定当前单元格的高度和宽度
thecell.Width
=Unit.Pixel(80)
thecell.RowSpan
=1
Ifi=0And(j=4orj=7orj=10)Then
thecell.Text
=""
Else
//本循环体中最重要的一句代码
thecell.Text
=IIf(tbl.Rows(i)(j)IsDBNull.Value,"",tbl.Rows(i)(j))
EndIf
tr.Cells.Add(thecell) 
//往TableRow控件添加单元格操作,
//循环一次添加一行。直到DataTable中数据全部读出为止,这样就实现了将数据虚拟表(DataTable)中的数据全部绑定在Table控件上
Next
Table2.Rows.Add(tr)   
//往Table控件中添加行操作
Next
EndSub

//***************************************下方是一个比较全的例子****************************************

DimcnAsNewSqlClient.SqlConnection(P_Con)

DimcmdAsSqlClient.SqlCommand=cn.CreateCommand

DimadptAsNewSqlClient.SqlDataAdapter(cmd)

DimtblAsNewDataTable

cmd.CommandTimeout
=3000

Try

cmd.CommandText
=str

adpt.Fill(tbl)



DimtrAsDataRow=tbl.NewRow'生成一个空的数据行(DataTable类型)



tr.Item(
"cDepCode")=""

tr.Item(
"cDepName")=""

tr.Item(
"客户经理")="合计"

tr.Item(
"累计预算营销费用")=tbl.Compute("sum(累计预算营销费用)","")

tr.Item(
"累计实际营销费用")=tbl.Compute("sum(累计实际营销费用)","")

tr.Item(
"余额")=tbl.Compute("sum(余额)","")

tr.Item(
"实际销额")=tbl.Compute("sum(实际销额)","")

tr.Item(
"实际销量")=tbl.Compute("sum(实际销量)","")

tr.Item(
"实际提取营销费")=tbl.Compute("sum(实际提取营销费)","")

tr.Item(
"实际广告费用")=tbl.Compute("sum(实际广告费用)","")

tr.Item(
"实际营销费用")=tbl.Compute("sum(实际营销费用)","")

tr.Item(
"累计营销费用余额")=tbl.Compute("sum(累计营销费用余额)","")

tr.Item(
"定单销额")=tbl.Compute("sum(定单销额)","")

tr.Item(
"定单销量")=tbl.Compute("sum(定单销量)","")

tr.Item(
"订单提取营销费")=tbl.Compute("sum(订单提取营销费)","")

tr.Item(
"合计")=tbl.Compute("sum(合计)","")

tr.Item(
"扣除项目")=tbl.Compute("sum(扣除项目)","")

tr.Item(
"系统已有余额")=tbl.Compute("sum(系统已有余额)","")

tr.Item(
"本月追加进系统")=tbl.Compute("sum(本月追加进系统)","")

tr.Item(
"小计")=tbl.Compute("sum(小计)","")

tr.Item(
"列入营销费预算")=tbl.Compute("sum(列入营销费预算)","")



tbl.Rows.InsertAt(tr,
0)'将合计插入到第一行,此处的0指的是数据插入的位置

bind_table(tbl)

CatchexAsException

Throwex

EndTry

EndSub

//===============================================

Subbind_table()Subbind_table(ByValtblAsDataTable)

DimiAsInteger

DimjAsInteger

Fori=0Totbl.Rows.Count-1

DimtrAsNewUI.WebControls.TableRow

Forj=2Totbl.Columns.Count–1//j从2读数据,是因为前两条记录设为空

DimthecellAsNewUI.WebControls.TableCell

thecell.Font.Size
=FontUnit.Point(9)//字体的单位是fontunit开始

thecell.BorderStyle
=BorderStyle.Solid

thecell.BorderWidth
=Unit.Point(1)

IfIsNumeric(IIf(tbl.Rows(i)(j)IsDBNull.Value,"",tbl.Rows(i)(j)))=TrueThen

thecell.HorizontalAlign
=HorizontalAlign.Right

Else

thecell.HorizontalAlign
=HorizontalAlign.Left

EndIf

thecell.Wrap
=False

thecell.Height
=Unit.Pixel(20)

thecell.Width
=Unit.Pixel(100)

thecell.RowSpan
=1

thecell.Text
=IIf(tbl.Rows(i)(j)IsDBNull.Value,"",tbl.Rows(i)(j))//给单元格赋值

tr.Cells.Add(thecell)
//使用循环读出Table表中所有的数据并转传给Table控件的单元格来接收

Next



Table2.Rows.Add(tr)
//Table2为服务器控件Table的ID

Next



EndSub


下方的图是运行效果

分享到:
评论

相关推荐

    VB.NET的DataTable常用方法总结

    VB.NET的DataTable常用方法总结

    asp.net,Datalist控件分页显示数据,绑定datatable

    asp.net,Datalist控件分页显示数据,绑定datatable 带有向前向后翻页

    c#.net常用的绑定控件方法

    绑定控件方法 public static void Bind_DropDownList(string sqlstr,DropDownList templist) { DataTable dt1=data.GetDataTable_oracleclient(sqlstr); foreach(DataRow row in dt1.Rows) { ...

    vb.net链接SQL

    vb.net链接SQL的类,实现查询,增改删,有无查询等返回datatable

    vb.net画图chat的经典实用案例

    有了这个程序关于vb或者c#的chart基本就能全掌握了,里面有详细的注释,本人原创

    DataTable分类求和,分类汇总,排序

    对于这个问题,自己郁闷了四五天的时间,之后终于做出来了,分享一下. 主要是从操作内存中的datatable表,而非直接操作数据库,筛选,去除重复行,sum求和,根据某个字段进行排序等等操作....

    C#(VB.net)数据库访问操作类库

    C#(VB.net)数据库访问操作类库 你知道,一些类库把常用的操作封装起来,以后可以直接调用,就节省了普通开发人员的大量精力. 对于CN 大多数公司都是开发MIS系统 说白了就是数据库系统 使用数据访问类库,必将节省大量...

    自己建vb.net 2008下数据库连接类源码-很简单

    vb.net 2008下数据库连接类源码: copy文件到你项目下,然后添加现有项,选择slq_conn.vb,然后添加你的数据库名字、用户名、密码。 在你程序中添加以下代码,即可使用数据库连接了。 里面还定义了一些其他的连接...

    ActiveReports for .NET--灵活强大的.Net 报表制作控件

    技术特性 支持ASP.NET-ActiveReports在WebForms应用程序中通过使用ASP.NET 服务器控件来使用。这个控件支持分布式web报表,可使用HTML,ActiveX,.NET 和PDF浏览器。 完全代码集成-使用Microsoft Visual Studio...

    WinForm下的数据绑定分页控件

    基于第一版的进一步优化 第一版地址:http://download.csdn.net/detail/lxfmq0/4707555 ...3. 数据源为DataTable类型的自动分页的可排序数据绑定控件; 4. 数据源为DataTable类型的手动分页的可排序数据绑定控件。

    Datatable和json互相转化代码

    Datatable和json互相转化代码代码

    C# DataTable数据控件经典用法及Acess数据分页

    DATATable数据控件经典使用,可以动态根据数据的多少生成表格,DATATable 经典分页处理,Acess数据库中时间格式处理,及第三方时间控间的使用。

    ASP.NET高级编程:校园BBS里的数据绑定.pptx

    单值数据绑定主要应用在数据绑定控件上。ASP.NET对具有 DataBinding 事件的对象(如GridView、DataList、Repeater控件)提供数据绑定表达式支持。 Eval()方法用于单向绑定,一般用于显示数据,被绑定的数据不能被...

    asp.net知识库

    利用反射实现ASP.NET控件和数据实体之间的双向绑定,并且在客户端自动验证输入的内容是否合法 asp.net报表解决方法 SQLDMO类的使用 SQL过程自动C#封装,支持从表到基本存储过程生成 使用SQLDMO控制 SQL Server 使用SQL...

    .net 中datatable与list泛型实体对象的互相转换

    非常方便的datatable类型与List泛型实体对象集合的互相转换,在面向对象的开发中,经常会用到的,如使用上不懂可以咨询我

    ASP.NET 控件的使用

    9.3 在SqlDataSource控件中使用ASP.NET参数 271 9.3.1 使用ASP.NET参数对象 272 9.3.2 使用ASP.NET的Control-Parameter对象 274 9.3.3 使用ASP.NET的Cookie-Parameter对象 277 9.3.4 使用ASP.NET的Form-Parameter...

    第7章 数据绑定控件

    第7章 数据绑定控件 300 7.1 数据绑定技术 301 实例188 格式化订货金额和订单日期并 进行绑定 301 实例189 使用绑定表达式高亮显示搜索关键字 302 实例190 Eval()绑定图书图片并实现单击图片 进行链接 304 实例191 ...

    两个DataTable合并, 并保留合并状态

    两个DataTable合并, 并保留合并状态。 如果合并后记录有变更,记录的状态为修改。 如果合并后记录是新增,记录状态为新增。 如果合并后听记录是现有记录,记录状态为删除。

    List(Of T)转换成DataTable.VB

    List(Of T)转换成DataTable

    ASP.NET应用开发案例教程

    第6章 ADO.NET数据管理与数据控件 6.1 SQL操作 6.1.1 数据查询 6.1.2 数据更新 6.2 数据绑定技术 6.3 DmaGdd控件 6.3.1 在DataGfid中显示数据 6.3.2 为DataGrid添加多功能列 6.4 Repeater控件 ...

Global site tag (gtag.js) - Google Analytics