Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

10 大型控制項的奧秘,Button / CommandField的CommandName

3,012 views

Published on

ASP.NET學習教材 VB & C# (松崗出版) 作者:MIS2000 Lab.

作者網站: http://www.dotblogs.com.tw/mis2000lab/
另有ASP.NET課程,歡迎參與。由我本人親自授課。

YouTube線上教學影片:https://www.youtube.com/channel/UC6IPPf6tvsNG8zX3u1LddvA

書籍購買:
http://24h.pchome.com.tw/books/prod/DJAA2V-A84340111
http://24h.pchome.com.tw/books/prod/DJAA2V-A83003754

Published in: Education
  • Be the first to comment

10 大型控制項的奧秘,Button / CommandField的CommandName

  1. 1. 第十章 GridView的 命令欄位與CommandName E-Mail -- mis2000lab@yahoo.com.tw 網站 http://www.dotblogs.com.tw/mis2000lab/
  2. 2. MIS2000 Lab.簡介 • 工作室成員包含:大學教授、業界技術經理、微軟MVP獎得主。 • 想要親自上課,請參考: http://www.dotblogs.com.tw/mis2000lab/archive/2011/06/24/29807.aspx • Blog(範例與新技術):http://www.dotblogs.com.tw/mis2000lab/ • FaceBook社群:https://www.facebook.com/mis2000lab • YouTube教學影片(不定期更新):https://www.youtube.com/channel/UC6IPPf6tvsNG8zX3u1LddvA • G+社群:https://plus.google.com/u/0/100202398389206570368/posts ASP.NET學習教材(松崗),作者:MIS2000 Lab.,網站 http://www.dotblogs.com.tw/mis2000lab/ 2
  3. 3. MIS2000 Lab.當面授課,機會難得! • ASP.Net (Web Form) 上課內容&報名,請恰: • http://www.dotblogs.com.tw/mis2000lab/archive/2011/06/24/29807.aspx • 自2011年初開課以來,全省已經有650人次以上參與本課程! • E-Mail -- mis2000lab@yahoo.com.tw ASP.NET學習教材(松崗),作者:MIS2000 Lab.,網站 http://www.dotblogs.com.tw/mis2000lab/ 3
  4. 4. 學習重點 • 第一,瞭解程式中,該如何取得GridView對應資料表的主索引鍵。 • 第二,瞭解GridView這類的大型控制項,如何變換樣板以進入編輯模 式或是進行分頁……等等。 • 第三,學會抓取大型控制項「身體裡面的子控制項」, 如:.FindControl()方法與.Controls集合。重點! • 第四,後續學會ADO.NET之後,可以自己寫程式(不使用SqlDataSource 精靈)完成GridView所有動作。此時已經大功告成,功力一飛沖天! • 以上所有學習都是為了第十三章的大型範例作預備!這是本書精華, 別的地方絕對學不到這麼深入的課程!
  5. 5. 10-1 某一列(筆)紀錄的「主索引 鍵」,.SelectedIndex屬性與.SelectedValue屬性 • 範例Default_book_3_basic.aspx • 重點在於程式要寫在 GridView1_SelectedIndexChanged 事件裡面。切記! • 電腦從"零"算起, 第一列的索引(Index)編號是零
  6. 6. 10-2 基礎練習(I),如何觸發GridView編 輯模式與RowEditing事件 • 大型控制項(如GridView、ListView、FormView、DetailsView等) 都類似,所以學通了,遇見其他控制項就不需重學一遍。 • 「編輯」按鈕:CommandName ="Edit" • 「刪除」按鈕:CommandName ="Delete" • 「更新」按鈕:CommandName ="Update" • 「取消」按鈕:CommandName ="Cancel" • 「選取」按鈕:CommandName ="Select"(GridView與ListView才有) • 「新增」按鈕:CommandName ="Add"或"New"或"Insert"(FormView、 DetailsView與 ListView這三個控制項,才會介紹。GridView沒有提供新增 一筆記錄的功能)
  7. 7. 10-2-1 進入GridView的編輯模式 • GridView1_RowEditing事件裡面,寫上程式碼 GridView1.EditIndex = e.NewEditIndex
  8. 8. 每一個事件裡面的參數e 代表的意義不同
  9. 9. 10-2-2 取消(離開)GridView的編輯模式 • GridView1_RowCancelingEditing事件裡面,寫上程式碼 GridView1.EditIndex = -1
  10. 10. 10-3 基礎練習(II),如何觸發GridView選 取模式與光棒效果 • 選取(進入光棒效果) • 寫在SelectedIndexChanging事件 • GridView1.SelectedIndex = e.NewSelectedIndex • 取消光棒效果 • 寫在哪個事件裡面呢?這可傷腦筋??? • GridView1.SelectedIndex = -1
  11. 11. • 取消光棒效果 • 寫在哪個事件裡面呢? • 方法一: • GridView智慧標籤→「編輯資料行」 裡面,我們要自己加入一個按鈕。 而且CommandName務必要自己 設定一個關鍵字(自己命名)。
  12. 12. • 方法二:除了上圖的設定步驟,您也可以 自己在GridView的HTML設計畫面,自己任 選一列動手轉成“樣板”後,加入一個 「CommandName = Cancel_Select」的按鈕。 效果跟上圖一模一樣。 • 方法三:加入一個「空樣板」(如下面兩 圖的解說),然後在GridView的「智慧標 籤」→「編輯樣板」,將新加入的這一欄 位「空樣板」,放置一個Button按鈕並設 定「CommandName = Cancel_Select」。 • 注意!因為此功能不是預設的,沒有固定 的關鍵字,CommandName您可以自己命 名。
  13. 13. 在GridView裡面,找不到「取消」選取模 式的事件?
  14. 14. • 在GridView身體裡面,按下任何按鈕都會啟動GridView的RowCommand事件。 • 我們只要謹記:預設的GridView「選取」按鈕,它的CommandName預設就 是「Select」保留字。 protected void GridView1_RowCommand (object sender, GridViewCommandEventArgs e) { // 離開「選取」模式(取消光棒效果)== if (e.CommandName == "Cancel_Select") { GridView1.SelectedIndex = -1; } } • 按鈕的ComamandName自己命名為 • Cancel_Select
  15. 15. 10-4 基礎練習(III),手動撰寫GridView 分頁 • 在GridView的PageIndexChanging事件裡面,寫一行程式即可。 • 各位可以注意看看這個事件裡面的「e」參數,它的定義跟前面 看見的GridView編輯(Edit)模式、選取(Select)模式底下的「e」 參數又不一樣了。

×