|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在VC.net的版本上,为了让C++运行在.NETFramework中,微软为C++引进了托管,就是托管C++(ManagedC++),这个根本就没有流行起来,自托管C++产生以后就没有收到过好评。asp.net|接口|控件|数据在后面的几个专栏中,我们分离先容了ASP.NET2.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必要一个数据源,因而请求别的一个SQLServer数据源。我们想显现GridView控件当选定行中的数据,以是必要传送所选行的ID。
演示GridView控件与别的数据控件相分离使用的最好体例就是使用实例代码。上面的GridView控件毗连到SQLServcer,显现Northwind数据库中数据。这里利用了三个控件:DropDownList、GridView和DetailsView。
用户可使用DropDownList控件指定加载到GridView控件中的数据。用户选择某个“乡村”,呼应员工的数据就被加载。因而,当在GridView控件中经由过程显现为链接标签的命令按钮选择了某个纪录后,指定员工的具体信息将会显现在DetailsView控件中。同时,选定行呈黄色高亮形态,从而用户能够简单的辨认选择的是哪一行。
代码中利用了三个SqlDataSource工具用于为每一个控件加载数据。GridView控件利用了来自DropDownList控件的SQL中的选定值,这是经由过程未来自DropDownList控件的值使用SqlDataSource控件的SelectParameters属性传送给SQL的。见以下所示。
<asp:SqlDataSourceID="ds"runat="server"SelectCommand="SELECTEmployeeID,LastName,FirstName,RegionFROMEmployeesWHERE(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和良多别的选项的数据。
<%@PageLanguage="C#"%>
<html>
<headid="Head1"runat="server">
<title>Master-DetailPageExample</title>
</head><body>
<formid="frmMasterDetail"runat="server">
<b>Selectacity:</b>
<asp:DropDownListID="DropDownList1"DataSourceID="SqlDataSource2"AutoPostBack="true"
DataTextField="City"runat="server"/>
<asp:SqlDataSourceID="SqlDataSource2"runat="server"SelectCommand="SELECTDISTINCTCityFROMEmployees"
ConnectionString="Server=localhost;Database=Northwind;Trusted_Connection=true"/>
<asp:GridViewID="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="GridViewExample">
<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:SqlDataSourceID="SqlDataSource1"runat="server"SelectCommand="SELECTEmployeeID,LastName,FirstName,RegionFROMEmployeesWHERE(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="EmployeeDetails"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:SqlDataSourceConnectionString="Server=localhost;Database=Northwind;Trusted_Connection=true"ID="SqlDataSource3"
复制代码- runat="server"SelectCommand="SELECTEmployeeID,LastName,FirstName,RegionFROMEmployeesWHERE(EmployeeID=@EmployeeID)">
- <SelectParameters>
- <asp:ControlParameterControlID="GridView1"Name="EmployeeID"PropertyName="SelectedValue"Type="String"/>
- </SelectParameters>
- </asp:SqlDataSource>
- </form></body></html>
复制代码 中包含了具有三个控件和用于数据加载的工具全体源代码,本例演示了利用数据控件利用数据而不必编写任何代码。每一个控件供应了大批的事务可用来为这些事务编写代码完成本文的一样义务和更多别的义务。
更多壮大接口
ASP.NET2.0包含大批以GridView为代表的数据控件,我们利用这些控件能够很简单地显现来自后端数据源中的数据。你还能够将GridView控件和别的的像DetailsView或FormView控件分离起来利用来利用更多的数据工具,和在一个表单域或独自一个表单中显现要编纂或扫瞄的数据。
我认为,可以通过更加简单的首次编译,而增加第二次编译的负担,来提高java的运行效率。只是将java源代码进行简单的等价转换,而不假设编译成某种虚拟机器的目标格式,而由本地编译器针对性的二次编译。 |
|