组合ASP.NET 2.0数据控件构建强大用户接口

asp.net|接口|控件|数据

在前面的几个专栏中,我们分别介绍了ASP.NET 2.0中的几个数据控件:GridView, DetailsView, 和FormView。本文,我将结合这几个数据控件对GridView控件做一个详细的介绍,使用户能够对每个数据行获得一个详细的了解。

主要控件

DetailsView 和 FormView控件在显示后端数据源中的单个记录时功能强大,但是强迫用户在一页中显示无数条记录这很不现实。为此,我们可以将GridView控件和DetailsView或FormView控件结合在一起,来让用户从GridView控件中选择单个列,然后利用DetailsView或FormView控件来浏览或操纵其中的内容。因此,GridView是主要控件,而细节则是通过其他控件显示的。

这种方法的第一步是设法可以选择GridView控件中的单个行(例如,可以允许用户选择一行显示在其它控件中)。此外,GridView控件的SelecterStyle属性可以显式的设定所选行的风格,从而用户知道或可以很容易的记住当前选择的是哪一行。

可以使用一个命令域来辅助行选择。CommandField对象的ShowSelectButton属性使得该对象成为行选择的对象。CommandField的ButtonType属性允许你控制如何进行选择,当选定一行时,GridView控件的DataKeyName属性指名分配给选定项的值,该值可能通过选择事件传递给其他控件。

当单击GridView中某行的选择按钮时,随即发生返回且更新GridView的SelectedRow属性。除了SelectedRow属性外,GridView控件还提供了SelectedIndex、SelectedValue、 和SelectedDataKey属性。SelectedIndex属性返回选定行的索引,而SelectedValue和SelectedDatakey属性返回基于GridView的DataKeyNames属性的值。

细节

既然已经设定好主要的GridView控件,下一步就可以添加一个DetailsView或FormView控件来显示选定行中的数据。在我们的例子中,DetailsView控件将被添加到GridView所在的页面中。此外,DetailsView需要一个数据源,因此要求另外一个SQL Server数据源。我们想显示GridView控件中选定行中的数据,所以需要传递所选行的ID。

演示GridView控件与其它数据控件相结合应用的最好方式就是利用实例代码。下面的GridView控件连接到SQL Servcer,显示Northwind数据库中数据。这里使用了三个控件:DropDownList、GridView和DetailsView。

用户可以使用DropDownList控件指定加载到GridView控件中的数据。用户选择某个“城市”,响应员工的数据就被加载。因此,当在GridView控件中通过显示为链接标签的命令按钮选择了某个记录后,指定员工的详细信息将会显示在DetailsView控件中。同时,选定行呈黄色高亮状态,从而用户可以容易的识别选择的是哪一行。

代码中使用了三个SqlDataSource对象用于为每个控件加载数据。GridView控件使用了来自DropDownList控件的SQL中的选定值,这是通过将来自DropDownList控件的值利用SqlDataSource控件的SelectParameters属性传递给SQL的。见如下所示。

<asp:SqlDataSource ID="ds" runat="server" SelectCommand="SELECT EmployeeID, LastName, FirstName, Region FROM Employees WHERE (City=@City)"            ConnectionString="Server=localhost;Database=Northwind;Trusted_Connection=true">

<SelectParameters>

<asp:ControlParameterControlID="DropDownList1" Name="City" PropertyName="SelectedValue" Type="String" />

</SelectParameters>

</asp:SqlDataSource>

你可以使用ControlParameter对象通过指定你想使用的数据的ID和属性来获得表单上其它控件中的数据。同时,当传递SelectedValue属性时,键值也通过ControlParameter对象从GridView传递到DetailView控件。GridView中选定行的SelectedValue使用指定给GridView控件的DataKeyNames值被赋值。此外,为了从控件获得数据,你还可以使用来自QuerySring,cookies和很多其它选项的数据。

<%@ Page Language="C#" %>

<html>

<head id="Head1" runat="server">

<title>Master-Detail Page Example</title>

</head><body>
<form id="frmMasterDetail" runat="server">

<b>Select a city:</b>

<asp:DropDownList ID="DropDownList1" DataSourceID="SqlDataSource2" AutoPostBack="true"
DataTextField="City" runat="server" />

<asp:SqlDataSource ID="SqlDataSource2" runat="server" SelectCommand="SELECT DISTINCT City FROM Employees"

ConnectionString="Server=localhost;Database=Northwind;Trusted_Connection=true" />

<asp:GridView ID="GridView1" AllowSorting="True" AllowPaging="True" runat="server"
DataSourceID="SqlDataSource1" DataKeyNames="EmployeeID"
AutoGenerateColumns="False" Width="427px" PageSize="10" BackColor="#c0c0c0"
BorderColor="black" BorderStyle="Groove" BorderWidth="5" Caption="GridView Example">

<SelectedRowStyleBackColor="yellow" />

<Columns>

<asp:CommandFieldShowSelectButton="True" />

<asp:BoundFieldDataField="EmployeeID" HeaderText="ID" ReadOnly="True" SortExpression="EmployeeID" />

<asp:BoundFieldDataField="LastName" HeaderText="Last" SortExpression="LastName" />

<asp:BoundFieldDataField="FirstName" HeaderText="First" SortExpression="FirstName" />

<asp:BoundFieldDataField="Region" HeaderText="Region" SortExpression="Region" />

</Columns>

</asp:GridView>

<asp:SqlDataSource ID="SqlDataSource1" runat="server" SelectCommand="SELECT EmployeeID, LastName, FirstName, Region FROM Employees WHERE (City=@City)"

ConnectionString="Server=localhost;Database=Northwind;Trusted_Connection=true"><SelectParameters><asp:ControlParameterControlID="DropDownList1" Name="City" PropertyName="SelectedValue" Type="String" /></SelectParameters></asp:SqlDataSource><asp:DetailsViewAutoGenerateRows="False" DataKeyNames="EmployeeID" DataSourceID="SqlDataSource3"HeaderText="Employee Details" ID="DetailsView1" runat="server" Width="275px"><Fields><asp:BoundFieldDataField="EmployeeID" HeaderText="ID" ReadOnly="True" /><asp:BoundFieldDataField="LastName" HeaderText="Last" /><asp:BoundFieldDataField="FirstName" HeaderText="First" /><asp:BoundFieldDataField="Region" HeaderText="Region" /></Fields></asp:DetailsView><asp:SqlDataSource ConnectionString="Server=localhost;Database=Northwind;Trusted_Connection=true" ID="SqlDataSource3"
runat="server" SelectCommand="SELECT EmployeeID, LastName, FirstName, Region FROM Employees WHERE (EmployeeID = @EmployeeID)"><SelectParameters><asp:ControlParameterControlID="GridView1" Name="EmployeeID" PropertyName="SelectedValue" Type="String" /></SelectParameters></asp:SqlDataSource></form></body></html>

中包括了拥有三个控件和用于数据加载的对象全部源代码,本例演示了使用数据控件操纵数据而不用编写任何代码。每个控件提供了大量的事件可用来为这些事件编写代码实现本文的同样任务和更多其它任务。

更多强大接口

ASP.NET 2.0包括大量以GridView为代表的数据控件,我们使用这些控件可以很容易地显示来自后端数据源中的数据。你还可以将GridView控件和其它的像DetailsView或FormView控件结合起来使用来操纵更多的数据对象,以及在一个表单域或单独一个表单中显示要编辑或浏览的数据。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数据
, 控件
, 浏览器加载控件a
, gridview
, gridview显示不全
, 属性
, detailsview
, 选择
, gridview 控件
, 数据源控件
, 控件数据
, mfccllist控件数据库
, 数据控件
控件GridView
,以便于您获取更多的相关知识。

时间: 2024-10-02 17:10:47

组合ASP.NET 2.0数据控件构建强大用户接口的相关文章

组合.NET数据控件构建强大用户接口

接口|控件|数据 在前面的几个专栏中,我们分别介绍了ASP.NET 2.0中的几个数据控件:GridView, DetailsView, 和FormView.本文,我将结合这几个数据控件对GridView控件做一个详细的介绍,使用户能够对每个数据行获得一个详细的了解. 主要控件 DetailsView 和 FormView控件在显示后端数据源中的单个记录时功能强大,但是强迫用户在一页中显示无数条记录这很不现实.为此,我们可以将GridView控件和DetailsView或FormView控件结合

使用ASP.NET 2.0 CSS 控件适配器生成CSS友好的HTML输出_实用技巧

[原文地址] Tip/Trick: Use the ASP.NET 2.0 CSS Control Adapters for CSS friendly HTML output [原文发表日期] Wednesday, November 29, 2006 11:01 PM  厌烦了内置的ASP.NET服务器端控件生成 HTML <table> 元素,而希望你能使用纯粹的CSS方案?如果是这样,读下去...  上个星期,我们发布了ASP.NET 2.0 CSS 控件适配器的1.0正式版.这些适配器利

使用ASP.NET 2.0 DetailsView控件处理数据

asp.net|控件|数据 DetailsView 控件 在ASP.NET 1.1中,对单条记录的操作需要自己定义,并加以拓展,但到了2.0,我们有了DetaillsView控件,这就变得简单又直截了当了.这个控件可以和任意数据源进行绑定,并使用它的数据操作命令集. DetailsView控件需要先和数据源控件绑定在一起.数据源控件负责连接存储的数据和返回选中数据的具体操作.把DetailsView控件绑定到数据如此简单,只需设置DataSourceID属性声明一下就可以了.同时,也可以利用代码

ASP.NET 2.0 ObjectDataSource控件

asp.net|object|控件 ObjectDataSource控件与SqlDataSource控件的对象模型是类似的.ObjectDataSource没有ConnectionString属性,它暴露了TypeName属性,用于指定需要实例化的执行数据操作的对象类型(类名).ObjectDataSource控件与SqlDataSource的命令属性相似,也支持SelectMethod.UpdateMethod.InsertMethod和DeleteMethod等属性,用于指明执行这些数据操作

ASP.NET 2.0数据教程之四十三:基于用户对修改数据进行限制

返回"ASP.NET 2.0数据教程目录" 导言 很多支持帐号(即需要登陆)的web程序根据登陆的用户提供不同 的选项,报表和其它功能.回到基于用户对修改数据进行限制 里,我们学习了如 何根据当前用户来动态调整在DetailsView和GridView里修改数据的能力.它允许 用户可以作为supplier或employee登陆到站点.如果登陆的用户为supplier,他 将可以修改他提供的product信息和company信息.而employee可以修改任何公司 的product和su

ASP.NET 2.0 GridView控件应用模版

asp.net|控件 GridView控件是由一系列数据显示控件之一,它可以绑定到 SqlDataSource 控件以返回的数据记录的字段以动态生成网格, GridView为我们提供了多种数据绑定列类型,例如BoundField 默认数据绑定列类型是一种简单的数据类型,展现了文本数据值. 其他类型方面的数据显示文本内容交替使用.CheckBoxField 复选框显示布尔数据类型.CommandField 显示一个按扭,按扭的类型可以是Button 普通按扭.LinkButton超链接按扭.Ima

ASP.NET 2.0新增控件-HiddenField

asp.net|控件 HiddenField控件顾名思义就是隐藏输入框的服务器控件,它能让你保存那些不需要显示在页面上的且对安全性要求不高的数据.也许这个时候应该有这么一个疑问,为什么有了ViewState.Session和Cookie等状态保存机制,还需要"返回老套"用起HiddenField呢?增加HiddenField,其实是为了让整个状态管理机制的应用程度更加全面.因为不管是ViewState.Session还是Cookie,都有其失效的时候(比如用户因某种需求要求设置View

用ASP.NET 2.0 FormView控件控制显示

asp.net|控件|控制|显示 ASP.NET 2.0的FormView控件类似于DetailsView控件,因为它能方便地显示后端数据源的单个记录.本文将讨论这个控件的语法和应用. 用户化 虽然这两个控件一次显示一条记录,DetailsView和FormView的关键差别在于:FormView利用用户定义的模板:而DetailsView则使用行字段.FormView控件没有预先定义数据布局:相反,你建立一个包含控件的模板来显示记录中的单个字段.模板中包含建立表单所要用到的格式.控件和绑定表达

ASP.Net 2.0图形控件简述

1.Image控件是用来显示图象的,对应于<img />标签,典型的Image控件格式如下 <asp:Image id="imgRandom" ImageUrl="Picture.gif" AlternateText="Picture" DescriptionUrl="" GenerateEmptyAlternateText="" ImageAlign=""/>