国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
在GridView的頁(yè)腳中顯示統(tǒng)計(jì)信息

在GridView的頁(yè)腳中顯示統(tǒng)計(jì)信息

    在GridView的頁(yè)腳中顯示統(tǒng)計(jì)信息(首先要做的工作是把GridView的ShowFooter屬性設(shè)為true,并更改其style)

    利用2種方法來(lái)統(tǒng)計(jì)數(shù)據(jù):

    1. SQL查詢(統(tǒng)計(jì)的是全部項(xiàng))

SELECT CategoryID, AVG(UnitPrice), SUM(UnitsInStock), SUM(UnitsOnOrder)
FROM Products
WHERE CategoryID = categoryID
GROUP BY CategoryID

    2.基于GridView的RowDataBound事件處理方法(它會(huì)在每一行綁定到GridView的時(shí)候被觸發(fā),但在加入Rows之前,可以使用e訪問)

    要在頁(yè)腳的特定單元格中顯示文本,可以使用use e.Row.Cells[index].Text = value,單元格的索引是從0開始的。代碼如下:

protected void ProductsInCategory_RowDataBound(object sender, GridViewRowEventArgs e)
{
     if (e.Row.RowType == DataControlRowType.DataRow)
     {
       //……增加累積合計(jì)……
     }
     else if (e.Row.RowType == DataControlRowType.Footer)
     {
       // 確定平均單價(jià)
      decimal avgUnitPrice = _totalUnitPrice / (decimal) _totalNonNullUnitPriceCount;

      // 在相應(yīng)的單元格中顯示統(tǒng)計(jì)數(shù)據(jù),無(wú)需數(shù)據(jù)綁定
      e.Row.Cells[1].Text = "Avg.: " + avgUnitPrice.ToString("c"); //格式化為貨幣格式
      e.Row.Cells[2].Text = "Total: " + _totalUnitsInStock.ToString();
      e.Row.Cells[3].Text = "Total: " + _totalUnitsOnOrder.ToString();
    }
}

    使用此種方法由于footer是在最后加入Rows的,所以可以統(tǒng)計(jì)出數(shù)據(jù),但是如果分頁(yè)的話,統(tǒng)計(jì)出的數(shù)據(jù)只代表當(dāng)前頁(yè)而非所有項(xiàng)。如下圖:

統(tǒng)計(jì)的數(shù)據(jù)是當(dāng)前頁(yè)而非全部

    結(jié)束語(yǔ):數(shù)據(jù)表達(dá)的方式有多種,可以看具體情況選擇。下面的語(yǔ)句中還包含了一些東西,還要進(jìn)一步理解:Northwind.ProductsRow product = (Northwind.ProductsRow)((System.Data.DataRowView)e.Row.DataItem).Row;

概述插入、更新和刪除數(shù)據(jù)

    在整個(gè)站點(diǎn)中加入一個(gè)新內(nèi)容的文件夾(下面包含很多頁(yè)面),要使這些它在站點(diǎn)導(dǎo)航中顯示,可以將建立的用戶控件(ascx文件)拖入文件下的默認(rèn)頁(yè)面中(default.aspx),并修改站點(diǎn)導(dǎo)航模板(sitemap文件),將新建頁(yè)面節(jié)點(diǎn)加入其中。

    使用數(shù)據(jù)源配置向?qū)?lái)配置ObjectDataSource的一個(gè)影響是Visual Studio設(shè)置了OldValuesParameterFormatString屬性為original_{0} 。這個(gè)屬性值用來(lái)包含數(shù)據(jù)被編輯時(shí)的原始值,它在下面兩種情況下非常有用:
    1.如果,當(dāng)編輯一條記錄時(shí),用戶可以修改主鍵的值。在這種情況下,新的主鍵的值和原始的主鍵值都需要提供,這樣具有這個(gè)原始主鍵值的數(shù)據(jù)庫(kù)記錄才可以被找到然后才能將它的值更新。
    2.當(dāng)使用開放式并發(fā)。開放式并發(fā)是為了保證同時(shí)操作的用戶不至于覆蓋另一個(gè)用戶所做更改的一種技巧.這個(gè)OldValuesParameterFormatString屬性指明了隱含對(duì)象的更新和刪除方法中對(duì)應(yīng)原始值的輸入?yún)?shù)的名稱。OldValuesParameterFormatString屬性設(shè)置為除了默認(rèn)值({0})以外的其它任何的值,都將在數(shù)據(jù)Web控件嘗試調(diào)用ObjectDataSource的Update()或Delete()方法時(shí)引發(fā)一個(gè)錯(cuò)誤,因?yàn)镺bjectDataSource將嘗試將這些原始值參數(shù)與UpdateParameters或DeleteParameters一起傳入。如果你忘記了從ObjectDataSource里刪除OldValuesParameterFormatString屬性。指定了OldValuesParameterFormatString屬性的話,該ObjectDataSource會(huì)試圖向DeleteProduct方法一并傳入productID和original_ProductID輸入?yún)?shù),然而,DeleteProduct方法只能接受一個(gè)輸入?yún)?shù),導(dǎo)致異常。刪除OldValuesParameterFormatString屬性(或設(shè)置它為{0})指示ObjectDataSource不要試圖傳入這個(gè)原始值的輸入?yún)?shù)。一個(gè)字段間約束也會(huì)阻止對(duì)數(shù)據(jù)(這里指產(chǎn)品)的刪除,導(dǎo)致異常。在一個(gè)真實(shí)的應(yīng)用程序中我們需要的是下面任一措施:(a) 通過另外一個(gè)頁(yè)面管理order details信息.(b) 在DeleteProduct方法里增加包含刪除指定產(chǎn)品的訂單明細(xì)的邏輯.(c) 修改TableAdapter所使用的SQL語(yǔ)句,包含對(duì)指定產(chǎn)品的訂單明細(xì)的刪除.

     通過它的職能標(biāo)記綁定GridView到ObjectDataSource有下面兩點(diǎn)的好處:
    1. 綁定列和CheckBox列被自動(dòng)地添加,對(duì)應(yīng)ObjectDataSource返回的每一個(gè)字段。而且,這些綁定列和CheckBox列的屬性已經(jīng)被設(shè)置,基于隱含字段的元數(shù)據(jù)。例如ProductID、CategoryName和SupplierName列(其它表的字段,BLL下ProductsBLL.cs提供的操作函數(shù)只針對(duì)本表,不對(duì)其它表操作,SQL語(yǔ)句{INSERT INTO [Products] ([ProductName], [SupplierID], [CategoryID], [QuantityPerUnit], [UnitPrice], [UnitsInStock], [UnitsOnOrder], [ReorderLevel], [Discontinued]) VALUES (@ProductName, @SupplierID, @CategoryID, @QuantityPerUnit, @UnitPrice, @UnitsInStock, @UnitsOnOrder, @ReorderLevel, @Discontinued);SELECT SCOPE_IDENTITY()},故設(shè)置ReadOnly屬性為true)在ProductsDataTable里被標(biāo)記為只讀,因此它們?cè)诰庉嫊r(shí)也是不可更新的。為了實(shí)現(xiàn)這一點(diǎn),這些綁定列的ReadOnly屬性設(shè)置為true 。

    2. DataKeyNames屬性被賦值為隱含對(duì)象的主鍵。這是在使用GridView來(lái)編輯或刪除數(shù)據(jù)的要點(diǎn),因?yàn)檫@個(gè)屬性象指出了標(biāo)識(shí)唯一記錄的那個(gè)字段(或是一組字段)。(DataKeyNames屬性讓每一行關(guān)聯(lián)一個(gè)或多個(gè)數(shù)據(jù)字段, 經(jīng)常用于唯一標(biāo)識(shí)GridView行. SelectedValue屬性返回選中行的DataKeyNames中的第一個(gè)數(shù)據(jù)字段的值, SelectedDataKey返回選中行的DataKey對(duì)象, 它包含了該行的所有指定數(shù)據(jù)主鍵字段的值.)

    在GridView中,當(dāng)最終用戶點(diǎn)擊特定一行的編輯按鈕時(shí),引發(fā)一次回傳并且GridView執(zhí)行以下步驟:
1. GridView的EditItemIndex屬性被賦值為當(dāng)前點(diǎn)擊編輯按鈕的行的索引。

2. 通過調(diào)用它的Select()方法,GridView重新綁定自己到ObjectDataSource。

3. 與EditItemIndex相匹配的行呈現(xiàn)為編輯模式。在此模式下,編輯按鈕替換為保存和取消按鈕,并且那些ReadOnly屬性為False的綁定列呈現(xiàn)為TextBox服務(wù)器控件,這些TextBox的Text屬性被賦值為相應(yīng)的數(shù)據(jù)字段的值。

    到這里HTML標(biāo)記被返回到瀏覽器,允許最終用戶可以修改行數(shù)據(jù)。當(dāng)用戶點(diǎn)擊保存按鈕,再次發(fā)生一次回傳,并且GridView執(zhí)行以下幾個(gè)步驟:

1. ObjectDataSource的UpdateParameters的值被賦值為最終用戶在GridView的編輯界面輸入的值。

2. 調(diào)用ObjectDataSource的Update()方法,更新指定的記錄。

3. 通過調(diào)用它的Select()方法,GridView重新綁定自己到ObjectDataSource。

    當(dāng)最終用戶點(diǎn)擊某一特定行的刪除按鈕時(shí),引發(fā)一次回傳并且GridView執(zhí)行以下步驟:

1.   對(duì)ObjectDataSource的DeleteParameters賦值

2. 調(diào)用ObjectDataSource的Delete()方法,刪除指定的記錄

3.   通過調(diào)用它的Select()方法GridView重新綁定到ObjectDataSource

    賦值到DeleteParameters的值是點(diǎn)擊刪除按鈕這一行的DataKeyNames字段的值。因此正確地設(shè)置GridView的DataKeyNames屬性是至關(guān)重要的。如果缺少了這個(gè),DeleteParameters將在第1步被賦上一個(gè)null值,從而在第2步中將不會(huì)導(dǎo)致刪除任何記錄。

    Scott Mitchell指出:DetailsView的CurrentMode 屬性指示當(dāng)前顯示的界面并可以被設(shè)置為下面幾個(gè)值之一:Edit、Insert或ReadOnly 。DefaultMode屬性則指示DetailsView在完成一次編輯或插入之后顯示的模式,這在需要讓DetailsView保持編輯或插入模式不變時(shí)是很有用的。

    確實(shí)DefaultMode屬性則指示DetailsView在完成一次編輯或插入之后顯示的模式,比如事先更改DetailsView的DefaultMode為edit的話,那么網(wǎng)頁(yè)加載后DetailsView將會(huì)以edit的模式出現(xiàn),如下圖:


    但"CurrentMode 屬性指示當(dāng)前顯示的界面并可以被設(shè)置為下面幾個(gè)值之一:Edit、Insert或ReadOnly 。"如何理解?當(dāng)更改其值(賦值)時(shí),編譯器提示該屬性為只讀,那么如何來(lái)利用該屬性呢?


本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
ASP.NET 2.0 數(shù)據(jù)操作:插入、更新、刪除數(shù)據(jù)時(shí)的事件
ASP.NET 2.0 的數(shù)據(jù)源、數(shù)據(jù)綁定控件概述與區(qū)別
第六章_后臺(tái)商品顯示
理解GridView控件
GridView內(nèi)容詳解(1)
DataKeyNames 屬性指定表示數(shù)據(jù)源主鍵的字段
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服