日期:2012-01-25  浏览次数:20365 次

因为是刚开始学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控件,我还有很多问题,搞明白之后我想都把它作为文章写出来,也算给自己积累点小经验,也给跟我一样晕糊的小菜们提供点知识点。