一聚教程网:一个值得你收藏的教程网站

热门教程

gridview绑定数据源详细用法

时间:2022-06-25 06:58:00 编辑:袖梨 来源:一聚教程网

这里新建了一个空的DateSet对象,并调用DataAdapter的Fill方法填充数据,然后通过设定GridView的数据源,调用它的DataBind方法就实现了数据绑定。
程序代码
 代码如下:
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("db.mdb");
OleDbDataAdapter da=new OleDbDataAdapter("select art_title,art_author from [article]",conn);
DataSet ds=new DataSet();
da.Fill(ds);
GridView1.DataSource=ds;
GridView1.DataBind();

生成网站,就可以看到效果了!
不过我们看到的表格的标题却是字段的名称,那么怎么设定表格的标题呢?
切到设计视图,选中控件,然后添加新列,字段类型选择BoundField,页眉就是表格的标题,数据字段是要绑定的数据库教程字段,添加完成后,设置GridView的AutoGenerateColumns属性为false,这是为了避免GridView自动生成列,而出现相同的数据被同时显示,要自定义显示字段的时候一定要设置!
重新生成站点,浏览一下,OK,没问题!

不满于此,再更进一步,加入分页。写过ASP的朋友就知道,熟手是一路Ctrl+C和Ctrl+V,如果是新手,那就得慢慢去写!
可.net的GridView就没那么复杂了,需要做的,仅仅是简单的设置和一句代码。
在GridView的PagerSettings栏设置GridView的AllowPaging属性为True,然后设定显示的记录数PageSize属性,显示位置Position属性,如果设定了Mode,同时依次定义分页链接的文字或图片。这样设置就完成了,最后一步添加GridView的PageIndexChanging事件,也就是单击分页链接的时候GridView所要做的,看代码,就一句:

程序代码
 代码如下:
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
}

1,使用表达式。如下,缺货的产品用红色,别的绿色。

image

image

实际上,就这个表达式:

(Int32)Eval("Num")<(Int32)Eval("MinNum")?System.Drawing.Color.Red:System.Drawing.Color.Green

 

 

 

2,属性成员。这是产品订购记录,有产品编号ProductID,扩展属性Product,单位在产品类中。

image

image

注意Product.UnitName那里

实例

打开GridViewTemplateField.asp教程x,并从工具箱中拖一个GridView到设计器上。从GridView的智能标签(smart tag)上选择并添加一个新的调用EmployeesBLL 类的GetEmployees()方法的ObjectDataSource控件。

添加一个新的调用GetEmployees()方法的ObjectDataSource控件 

GridView绑定数据:添加一个新的调用GetEmployees()方法的ObjectDataSource控件

用这种方式进行GridView绑定数据将会自动的为雇员信息的每一个属性添加一个BoundField:EmployeeID、LastName、FirstName、Title、HireDate、ReportsTo以及Country。在这个报表中,我们不希望看到EmployeeID、ReportsTo以及Country属性。要删除这些BoundField的话,你可以:

·使用字段对话框 - 在GridView的智能标签的弹出菜单中点击“编辑列”(Edit Columns)。然后,在左下角的列表中选中你想要删除的BoundField并点击那个带红叉的按钮,就可以删除这个BoundField了。

·手工编辑GridView的声明语句 - 在源视图(Source view)中,找到你想要删除的BoundField,就是那些< asp:BoundField>元素,删了就行了。

在你删了EmployeeID、ReportsTo和Country等BoundField之后,你的GridView的标记语言代码应该像这个样子:

  1. < asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="EmployeeID" 
  2.     DataSourceID="ObjectDataSource1">  
  3.     < Columns>  
  4.         < asp:BoundField DataField="LastName" HeaderText="LastName" SortExpression="LastName" />  
  5.         < asp:BoundField DataField="FirstName" HeaderText="FirstName" SortExpression="FirstName" />  
  6.         < asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" />  
  7.         < asp:BoundField DataField="HireDate" HeaderText="HireDate" SortExpression="HireDate" />  
  8.     < /Columns>  
  9. < /asp:GridView> 

让我们花点时间在浏览器中来看看我们的成果。这时,你将看到一个表格,表格中每一个记录都是一个雇员的信息,一共有四列:一个是雇员的姓,一个是名字,一个是头衔,还有一个是他们的受雇日期。

每一个雇员信息都显示了LastName、FirstName、Title和HireDate 

GridView绑定数据:每一个雇员信息都显示了LastName、FirstName、Title和HireDate

热门栏目