国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

組合ASP.NET 2.0數據控件構建強大用戶接口

2024-07-10 13:08:31
字體:
來源:轉載
供稿:網友

在前面的幾個專欄中,我們分別介紹了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 ([email protected])"            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 ([email protected])"

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控件結合起來使用來操縱更多的數據對象,以及在一個表單域或單獨一個表單中顯示要編輯或瀏覽的數據。

  • 本文來源于網頁設計愛好者web開發社區http://www.html.org.cn收集整理,歡迎訪問。
  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 平顺县| 岳西县| 岗巴县| 六盘水市| 黑龙江省| 抚州市| 望都县| 德钦县| 邓州市| 牟定县| 兰州市| 蒙自县| 东乡族自治县| 蕲春县| 柘荣县| 汶上县| 阿拉善左旗| 蛟河市| 普格县| 鄂伦春自治旗| 阳江市| 五河县| 宁远县| 张北县| 乌兰浩特市| 桃江县| 徐汇区| 云梦县| 岳西县| 辽中县| 富蕴县| 华亭县| 柞水县| 莱芜市| 牡丹江市| 北宁市| 辽宁省| 乾安县| 深泽县| 辉县市| 揭阳市|