因为是刚开始学asp.net,最主要的是因为工作的原因,现在还不使用asp.net来开发软件,所以学习时间就相对少了一些,学起来也比较慢,再加上我这个人奇笨,所以就有了下面这篇文章。
捧着一本asp.net的书啃了半天,看到介绍DataGrid控件的时候,禁不住想做个小程序试试。书上给了两个例子,一个是自动生成列的,另外一个是手动生成列的,我选择手动生成列。代码如下:
<%@ page language=vb runat=server debug=true%> <%@ import namespace="system"%> <%@ import namespace="system.data"%> <%@ import namespace="system.data.oledb"%> <%@ import namespace="system.data.sqlclient"%> <%@ import namespace="system.text"%> <%@ import namespace="system.IO"%> <%@ import namespace="system.web"%> <%@ import namespace="system.web.UI"%> <%@ import namespace="system.web.UI.Webcontrols"%>
<script language=vb runat=server>
sub page_load(byval sender as object,byval e as eventargs) dim conn as oledbconnection dim command as oledbdataadapter dim ds as new dataset
conn=new oledbconnection("Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=client;Data Source=vvv") command=new oledbdataadapter("select * from infoclient",conn) command.fill(ds,"infoclient")
datagrid1.datasource=ds.tables("infoclient").defaultview datagrid1.databind end sub </script> <html> <head> <title>客户管理-客户信息</title> </head> <body>
<asp:datagrid id=datagrid1 width=90% autogeneratecolumns=false backcolor=beige alternatingitemstyle-backcolor=cornsilk bordercolor=black showfooter=false cellpadding=3 cellspacing=0 font-name=arial font-size=8pt forecolor=black headerstyle-backcolor=burlywood headerstyle-font-bold=true runat="server" ></asp:datagrid>
</body> </html>
数据库里面有数据,但是运行的时候什么也没显示,空白页,请问哪里错了?
搞了半天,最后才弄明白,当你选择autogeneratecolumns=false,即手动生成列的时候,一定要用columns集合,boundcolumns等控件来将你的列显示出来,如果既选择了autogeneratecolumns=false,又不用columns集合,那怎么叫手动生成列呢?
关于asp.net中使用DataGrid控件,我还有很多问题,搞明白之后我想都把它作为文章写出来,也算给自己积累点小经验,也给跟我一样晕糊的小菜们提供点知识点。
|