数据绑定控件—GridView控件
- 格式:pdf
- 大小:330.26 KB
- 文档页数:20
4.0 使用GridView控件在Visual Studio 2010中,用户可以采用可视化的方式为页面插入GridView控件,也可以通过代码的方式插入GridView控件。
1.添加GridView控件在页面的【设计】视图中选择任意一个段落,然后即可从【工具箱】中选择【GridView控件】,将其插入到页面中,如图10-2所示。
图10-2 插入的GridView控件2.更改控件外观通过可视化的方法,可以方便地改变GridView控件的外观,为其应用各种模板样式。
选中GridView控件或将鼠标滑至GridView控件上方,然后即可单击控件右上角的【GridView 任务】按钮,如图10-3所示。
图10-3 单击任务按钮在弹出的【GridView 任务】菜单中执行【自动套用格式】命令,如图10-4所示。
图10-4 执行【自动套用格式】命令然后,即可在弹出的【自动套用格式】对话框中选择GridView控件的格式架构,如图10-5所示。
图10-5 选择套用的格式3.添加数据源数据绑定控件的最大特点就是允许方便地与数据库中的数据进行绑定,快速显示数据内容。
用同样的方式选择GridView控件,单击其右上角的【GridView 任务】按钮,打开【GridView 任务】菜单。
如果当前的项目已绑定了数据源,则在该菜单中【选择数据源】的菜单中即可显示这些数据源。
否则,开发者可以在【选择数据源】的菜单中选择“<新建数据源>”选项,连接一个新的数据源,如图10-6所示。
图10-6 新建数据源在弹出的【数据源配置向导】对话框中选择对应的数据源类型,然后即可设置数据源的编号索引,单击【确定】按钮,如图10-7所示。
图10-7 选择数据源在弹出的【配置数据源】对话框中单击【新建连接】按钮,建立一个新的数据源连接,如图10-8所示。
图10-8 新建数据源连接在弹出的【添加连接】对话框中,输入数据库服务器的名称,并选择服务器安全的验证方式,如图10-9所示。
信息系统与数据库技术成绩:90.0分一、单选题(题数:40,共 40.0 分)1BookStore数据库中有销售明细表OrderDetail(OrderCode, BookCode, Amount) 查询销售总量前20%的图书,并按总销量降序排列。
SQL语句:SELECT TOP 20 PERCENT Bookcode As 书号, SUM(Amount)As总销量ROM OrderDetailGROUP BY BookcodeORDER BY ________(1.0分)1.0分正确答案:B 我的答案:B答案解析:2关系模式规范化理论是关系数据库进行逻辑设计的理论依据。
根据这个理论,关系数据库中的关系必须满足:其每一属性都是()。
(1.0分)1.0分互不相关的正确答案:A 我的答案:A答案解析:3对关系表进行数据操作的结果是()。
(1.0分)1.0分数组正确答案:D 我的答案:D答案解析:4在电商平台数据库中的商品表设计时,“折扣”字段最好选择()类型。
(1.0分)1.0分char(n)正确答案:D 我的答案:D答案解析:5在Visual Studio开发环境中,一个Web应用程序一般包含()。
(1.0分)1.0分只有一个文件正确答案:A 我的答案:A答案解析:6GridView提供了丰富的属性,()属性可以设置显示的标题名。
(1.0分)1.0分正确答案:A 我的答案:A答案解析:7数据库概念设计的E-R图中,用属性描述实体的特征,属性在E-R图中一般用()表示。
(1.0分)1.0分正确答案:A 我的答案:A答案解析:8有一关系:教学(教工号、课程号、开课时间),假定每个老师可以讲授多门课程,每门课程只能由一个老师来讲授,那么该关系的主键设置为()比较合适。
(1.0分)1.0分正确答案:A 我的答案:A答案解析:9容器控件允许在其内部添加其他控件,便于整体布局和控制整体的隐藏和显示,下面属于容器控件的是()。
GridView控件的学习和使用一.数据绑定简介数据绑定就是将数据源中的数据显示到数据服务控件中。
数据源可以是数据库表、数组、集合等。
数据服务控件是专门用于在页面上显示数据的一种控件。
我们将主要介绍GridView控件、DataList控件、Repeater控件。
所有的数据绑定都通过DataBind()函数来实现。
在实现数据绑定的时候,首先要指明数据源,然后再使用DataBind()函数。
GridView1.DataSource = dataset;GridView1.DataBind();二.GridView控件简介GridView控件是2003中DataGrid控件的升级版本,它提供了比DataGrid更强大的功能,同时比DataGrid更加易用。
GridView控件是一个功能强大的控件。
它可以使用数据绑定技术,在数据初始化的时候绑定一个数据源,从而显示数据。
除了能够显示数据外,还可以实现编辑、排序和分页等功能,而这些功能的实现有时可以不写代码或写很少的代码。
三.GridView控件的属性GridView控件的属性很多,总体上可以分为分页、数据、行为、样式等几类。
1)分页:主要是设置是否分页、分页标签的显示样式、页的大小等。
2)数据:设置控件的数据源。
3)行为:主要进行一些功能性的设置,如:是否排序、是否自动产生列、是否自动产生选择删除修改按钮等。
4)样式:设置GridView控件的外观,包括选择行的样式、用于交替的行的样式、编辑行的样式、分页界面样式、脚注样式、标头样式等。
具体属性的解释参见示例演示四. GridView控件的事件GridView控件的事件非常丰富。
当在GridView控件上操作时就会产生相应的事件。
要实现的功能代码就写在相应的事件中。
GridView控件的常用事件主要有:1)PageIndexChanging:当前索引正在改变时触发。
2)RowCancelingEdit:当放弃修改数据时触发。
为ListView和GridView添加数据ListView采用垂直堆叠得方式显示数据,而GridView则采用水平堆叠得方式。
长相的话嘛,它们都差不多。
<Grid Name="grid1" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"><ListView x:Name="listView1" SelectionChanged="listView1_SelectionChanged"><x:String>Item 1</x:String><x:String>Item 2</x:String></ListView><GridView x:Name="gridView1" SelectionChanged="gridView1_SelectionChanged"><x:String>Item 1</x:String><x:String>Item 2</x:String></GridView></Grid>当然,也可以在后台代码上添加。
我只是为了将它们放在一起比较而已,这些代码堆一起肯定是很丑的。
ListView listView1 = new ListView();listView1.Items.Add("Item 1");listView1.Items.Add("Item 2");listView1.Items.Add("Item 3");listView1.SelectionChanged += listView1_SelectionChanged;grid1.Children.Add(listView1);GridView gridView1 = new GridView();gridView1.Items.Add("Item 1");gridView1.Items.Add("Item 2");gridView1.SelectionChanged += gridView1_SelectionChanged; grid1.Children.Add(gridView1);如果只是像上面这样来添加内容会不会比较麻烦呢,我们也可以把这些Item 1、Item 2之类的全部放在List中。
datagrid控件的用法datagrid控件是一种常用的图形用户界面(GUI)控件,它用于显示和编辑表格数据。
它可以在各种应用程序中使用,包括桌面程序、网页应用和移动应用。
本文将介绍datagrid控件的用法,包括绑定数据、编辑数据、排序和过滤等功能。
一、绑定数据1. 使用数据源:datagrid控件可以通过绑定数据源的方式来显示数据。
你可以使用各种数据源,包括数据库、XML文件、JSON数据等。
在绑定数据之前,你需要先定义datagrid的列,指定列的标题和数据绑定的字段。
2. 设置数据展示:一旦数据绑定完成,datagrid控件将自动根据数据源中的数据生成表格。
你可以设置表格的样式、颜色和字体等属性来适应你的应用程序的需求。
你还可以设置列的宽度、对齐方式和可见性等属性。
二、编辑数据1. 单元格编辑:datagrid控件允许用户在表格中直接编辑单元格的数据。
用户可以双击单元格进入编辑模式,然后修改数据并保存。
你可以通过事件处理函数来捕获用户的编辑操作,并对数据进行处理。
2. 行编辑:除了单元格编辑,datagrid控件还支持行编辑。
用户可以选择一行数据并进行编辑。
你可以设置行编辑的模式,比如是否只能编辑选中行、是否允许添加新行等。
三、排序和过滤1. 排序:datagrid控件提供了内置的排序功能,使用户可以轻松地对表格数据进行排序。
用户可以点击列标题来改变排序方式,比如升序或降序。
你可以设置排序规则,比如按照字母顺序或数字大小进行排序。
2. 过滤:datagrid控件还支持数据过滤功能,用户可以输入关键字来筛选数据。
你可以设置过滤条件,比如只显示满足某个条件的数据。
过滤功能可以帮助用户快速地找到需要的数据。
四、分页功能1. 分页显示:当数据量很大时,datagrid控件可以自动分页显示数据。
你可以设置每页显示的记录数,比如每页显示10条数据。
用户可以通过点击上一页和下一页按钮来切换页面,或者直接输入页码。
在Gridview中添加超链接列进入Gridview的【编辑列…】窗口进行编辑,如图:在【可用字段】里选择HyperLinkField,单击【添加】按钮。
然后选择在【选定的字段】中,选择刚添加的这个HyperLinkField。
在右边按照图示进行设置:外观-Text:设置链接的文字。
外观-HeaderText:设置链接列的标题。
数据-DataNavigateUrlFields:设置超链接要传递的参数,这里写的“id,name”表示要传递id和name这两个字段的值,注意用逗号分隔,可以设置多个字段。
数据-DataNavigateUrlFormatString:设置要链接到的页面和传递的参数。
Default2.aspx?id={0}&name={1}表示要链接到Default2.aspx页面。
这里的{0}表示在形成链接时{0}将会被DataNavigateUrlFields中设置的第一个参数实际的值替代,在我们这里是id,{1}将会被name的实际值替代。
最终形成的页面代码如下:<asp:GridView ID="cityList"runat="server"AutoGenerateColumns="False"><Columns><asp:BoundField DataField="id"HeaderText="编码"/><asp:BoundField DataField="name"HeaderText="名称"/><asp:HyperLinkField DataNavigateUrlFields="id,name" DataNavigateUrlFormatString="Default2.aspx?id={0}&name={1}" HeaderText="操作"Text="修改"/></Columns></asp:GridView>后置代码如下:using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class _Default : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){SqlConnection conn =new SqlConnection("Data Source=.;Initial Catalog=demo;User ID=sa;Password=sa1");DataSet citySet = null;try{SqlDataAdapter adapter =new SqlDataAdapter("select * from city", conn);citySet =new DataSet();adapter.Fill(citySet, "city");}catch (SqlException ex){Console.WriteLine(ex.Message);}finally{conn.Close();}cityList.DataSource= citySet;DataBind();}}这时,浏览页面看效果,如图:如果把鼠标移动到超链接上,观察形成的链接,效果如图:给Gridview添加复选框点击Gridview右上角的三角按钮,选择【编辑列…】,添加一个TemplateField:然后单击向上的按钮,将这个TemplateField移动到最上面:这样,我们就为Gridview添加了一个TemplateField,并且将这个TemplateField排到第一列。
在项目中,老程序员都知道显示数据的控件的操作灵活性很重要。
Visual Studio 2008里面提供了一个很强大的数据显示控件------------DataGridView。
DataGrid View与VB、VC中的DataGrid控件功能很相似,但比起更加强大,操作更灵活,废话不说了。
操作DataGridView有两种方式,一种是使用控件绑定的方式,操作的时候只要更改DataSet控件的数据集就能够实现DataGridView数据的灵活显示;另一种方式是全部使用代码来手工操作DataGridView控件的显示,尽量少用控件,使代码看起来更连贯,操作更灵活。
控件方法来操作DataGridView控件:(控件方法略,比较简单,拖控件,绑定即可)代码方法来操作DataGridView控件通过上两节,老程序员对数据的简单操作已经很熟练了。
现在在第一个实例“hello word!”的基础上,继续DataGridView控件的手工操作实习。
添加一个控件,文本命名如图:我们在上面看到的数据显示时这样的:列的头部是数据库表的列段名,因为我们是将SQL查询的数据集直接绑定到DataGridView控件的。
下来我们来改变它的头部,同时,来指定DataGridView控件各个列绑定的数据成员。
private void button4_Click(object sender, EventArgs e){//定义数据库连接字符string str_con = @"Data Source=26-3B72903E783B\SQLEXPRESS;Integrated Security=SS PI;Initial Catalog=testDB;";//定义SQL语句字符串string sql = "select * from danwei";// string sql = string.Format("insert into danwei (danwei) values ('{0}')", text Box1.Text);//定义并实例化数据库连接类型变量SqlConnection conn = new SqlConnection(str_con);//打开数据库连接conn.Open();SqlCommand comm = new SqlCommand(sql, conn);SqlDataAdapter da = new SqlDataAdapter(comm);DataSet ds = new DataSet();da.Fill(ds, "danwei");dataGridView1.DataSource = ds;dataGridView1.DataMember = "danwei";//---------------以上代码可以直接拷贝button3的代码--------------------//设置dataGridView1控件第一列的列头文字dataGridView1.Columns[0].HeaderText = "序号";//设置dataGridView1控件第一列的列宽dataGridView1.Columns[0].Width = 80;//设置dataGridView1控件第二列的列头文字dataGridView1.Columns[1].HeaderText = "单位";//设置dataGridView1控件第二列绑定的数据集中第一个数据表的第二列的数据//前面说了,ds数据集是一个多表的集合dataGridView1.Columns[1].DataPropertyName = ds.Tables[0].Columns[1].ToString();//设置dataGridView1控件第二列的列宽dataGridView1.Columns[1].Width = 300;conn.Close();}运行后,按下DataGridViewOpar按钮显示如下:比较原来的;发现就是列头变了,以及下面的滚动条长了,其实数据绑定了。