[習題] NamingContainer取得 GridView的列數(RowIndex)、對應的資料表 這一列的主索引鍵

摘要:[習題] NamingContainer取得 GridView的列數(RowIndex)、對應的資料表 這一列的主索引鍵





 

 

藍色小舖 首席名人 小婷的最新發問(但已經被刪除)

Q : GridView沒有「選取(Select)」按鈕,但身體裡面有一個子控制項(如DropDownList)

       當User點選這個子控制項時,我怎麼知道是點選了「哪一列」?

 

A :  以前有一篇文章,有相同的答案

請參閱

[GridView]在 RowCommand事件中,自訂的Button 如何取出某一列(RowIndex) 的索引值。NamingContainer的入門用法
http://www.dotblogs.com.tw/mis2000lab/archive/2011/09/08/gridview_selectedindex_dataitemindex_rowcommand_2011.aspx

 

 

檔名 GridView_DropDownList_No_SelectButton.aspx

 

畫面設計:

      GridView畫面上,「沒有」 Select按鈕。

      每一列的樣版,裡面都放置一個 DropDownList

 

      當使用者選取、使用某一列「裡面」的 DropDownList,我們可以取得這一列的 RowIndex

      當然,如果您設定了 GridView的 「DataKeys」屬性,也能取得「對應」的資料表 

                      這一列(這一筆記錄)的主索引值(P.K. / Primary Key)

 

 

書本上集,第十章有這樣的範例與解說,

所以這個範例適合補充在第十章

 

    '****** 請使用C#的作法,在HTML畫面中,連結這個事件 ***************************
    '****** <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"
    '                                     OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">


    Protected Sub DropDownList1_SelectedIndexChanged(sender As Object, e As EventArgs)

        Dim DDL As DropDownList = sender
        '標準寫法 Dim DDL As DropDownList = CType(sender, DropDownList)


        Dim myRow As GridViewRow = DDL.NamingContainer
        '標準寫法 Dim DDL As DropDownList = CType(DDL.NamingContainer, GridViewRow)

        Response.Write("<br />這一列的「索引值.DataItemIndex」---" & myRow.DataItemIndex)
        Response.Write("<br />這一列的「索引值.RowIndex」---" & myRow.RowIndex)


        Response.Write("<br /><hr />這一列的對應資料表「P.K.」---" & GridView1.DataKeys(myRow.RowIndex).Value)


        Response.Write("<br />這一列的「第一個欄位」的值---" & GridView1.Rows(myRow.RowIndex).Cells(0).Text)
        '**** 這段抓不到「格子」裡面的值喔!!*******************
    End Sub

 

 

也可以參考 Allen Kuo這一招:

http://www.blueshop.com.tw/board/FUM20041006161839LRJ/BRD201409172008273OL.html

很簡單,不必管身在哪一列
var ddl=sender as DropDownList;
var txt=ddl.FindControl("textbox1") as TextBox;
即可 

 
 
也可以參閱這篇文章
 

相關文章:

微軟MSDN    http://msdn.microsoft.com/zh-tw/library/system.web.ui.control.namingcontainer%28v=vs.110%29.aspx

利用NamingContainer属性获取GridView行号   http://blog.csdn.net/gaofeng2000/article/details/4199646

Button_Click事件裡面的 參數 sender,以清單控制項為例

 

其實我一直很好奇

  一個基礎不穩、就說是一個初學者、新手吧!

  這樣的能力,有什麼資格去評論、判別......

          別人給的答案是好是壞?

          別人推薦的書是好是壞?

 

當然,消費者最大!

你說這東西不好吃,就是不好吃。

雖然這是名廚 阿基師的作品,或是米其林餐廳 三星評鑑的主廚做出來的

 

我想說的是:

在您(新手)評論別人之前,您動手、試過了沒?

或許,別人的答案與建議,完全看不懂

 

那就要自己加強一下,補齊自己的功力,趕緊跟上進度.....

而不是「要求別人配合你」

 

這種人,很明顯是「人格特質」有問題,學習與工作的「態度」偏差了。

 

你要說人家的東西不好吃、給的答案很爛

至少吃幾口?

至少試過一次?

至少給對方機會,把整套餐吃一遍

 

時間很急啊!很趕啊!連試都不願意、連品嚐都嫌浪費時間

表面上是很積極   再找答案

實際上就是懶!求速成!(給我Code抄一下,不要廢話!)

 

如果這個行業可以這樣塗塗改改、抄抄寫寫就「出師」?

真的不要來作、真的快點轉行

 

因為....將來.......很多沒基礎的年輕人也可以這樣塗塗改改、抄抄寫寫就完成案子

他們年輕、成本低,很快會取代你。

 

但是.....  IT產業真的是這樣的嗎?   資歷、經驗不重要嗎?

草莓族,好好想一想!!

 

Quitter (詳見這個網址-- http://www.thefreedictionary.com/quitter

One who gives up easily.
a person who gives up easily;     defeatist(失敗者), deserter(逃兵), or shirker(懶人)

[職場]...Quitter....工作不順要怪自己!研究:基因決定抗壓性
http://www.dotblogs.com.tw/mis2000lab/archive/2012/11/21/84906.aspx

我同事把這個單字翻譯成「草莓族」,我覺得很貼切

      草莓族,不一定是年輕人。

      求速成(達不到就變成「愛放棄」)、不踏實的人格特質,其實都是草莓族(跟年齡無關)

 

 

 

我記得以前看過一篇文章,(如果記錯了請見諒)

張曉風老師有一次指導學生排練舞台劇

報紙給了不佳的評價,學生很沮喪

 

張老師說:看見人家的評論,我們該這麼反省

    第一,對方是不是這領域的專家?如果不是,你聽他的做什麼?

    第二,他說的有沒有道理?

    第三,他說的部分,你覺得有沒有修正(改善)的必要?

 

上面三點,都很務實,跟「情緒」無關

 

相關文章:

 [給讀者的話] 我知道你不是爛草莓,只是對自己期望太高......上班一個月就離職?
 http://www.dotblogs.com.tw/mis2000lab/archive/2010/08/03/16984.aspx

 
 [轉貼]台灣年輕人 就業意願、技能不足,甚至家長過度保護。
 http://www.dotblogs.com.tw/mis2000lab/archive/2012/07/12/73347.aspx

 
 [職場]七年級後段班 --- 新游牧族 不到3個月就離職
http://www.dotblogs.com.tw/mis2000lab/archive/2010/09/15/17735.aspx

 


[給初學者的話] 與其想得太多,不如立刻動手作#3 -- 九把刀:就算選錯 也要努力發掘自己
http://www.dotblogs.com.tw/mis2000lab/archive/2012/04/30/71901.aspx


[職場]老闆的一百分與員工的一百分(兼論:學歷、文憑,職場的潛規則)
http://www.dotblogs.com.tw/mis2000lab/archive/2012/02/07/68009.aspx


[職場]翁靜玉老師 : 專注第一專長 勝過千百個專長
http://www.dotblogs.com.tw/mis2000lab/archive/2011/11/09/55256.aspx


[IT人應該看] 離職前,一堂價值非凡的課 -- 莫忘初衷
http://www.dotblogs.com.tw/mis2000lab/archive/2009/07/10/9323.aspx


[感想][職場] 新鮮人求職......先卡位,再說!
http://www.dotblogs.com.tw/mis2000lab/archive/2009/10/12/freshman_job_interview.aspx

 

 

 
.......................以下是廣告........................................................................................
 
 
我的書、我的課程,絕對沒有太多招數
 
都是用最基本的技巧
組合成各種變化。
 
如同詠春拳,三個套路,
排列組合、變化萬千
 
 
 
 
 
 
與其到處  Copy範例、到處抄襲程式碼(找到了也改不動)
 
為什麼不一次學好、學清楚?
 
然後讓自己有生產力呢?
(你學了一百招,但上了戰場,一招都使不出來?)
(客戶的要求,沒有一個你能自己做到?還是上網逐一發問、抄抄改改?)
 
 
為什麼人家可以千變萬化?
 
我只能到處拼拼湊湊?卻還天天加班、做不完?最後還是迷迷糊糊?
 
 
 
 
   如何一以貫之
         如何啟動「輕輕鬆鬆的自我學習之道」?
 
 
讓我告訴你,
一個沒有大型補習班招牌、沒有關鍵字廣告的書籍與課程
 
 
在時局這麼亂、經濟與工作越來越蕭條的  Bumbler 無能年代
 
為何所有補習班的 ASP.NET課程都開不成、招不到學生
 
我的課程,班班額滿,欲罷不能.............縱貫這三四年 全台灣 的 ASP.NET入門教學
 
 
 
 

 

 

我將思想傳授他人, 他人之所得,亦無損於我之所有;

猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson

寫信給我,不要私訊 --  mis2000lab (at) yahoo.com.台灣  或  school (at) mis2000lab.net



ASP.NET遠距教學、線上課程(Web Form + MVC)。 第二門 課程「四折」-- 以MVC課程 作優惠。
第一天課程, "完整" 試聽。  如不滿意  全額退費!
................   facebook社團   https://www.facebook.com/mis2000lab   ......................

................  YouTube (ASP.NET) 線上教學影片  http://goo.gl/rGLocQ

*********************************************************************************************

*** ASP.NET MVC線上課程 第一天 免費看 (5.5小時) *** 

************************************************************(歡迎索取,免費申請)*****

 

Blog文章 "附的範例" 無法下載,請看 這裡 ...... https://dotblogs.com.tw/mis2000lab/2016/03/14/2008_2015_mis2000lab_sample_download

請看我們的「售後服務」範圍(嚴格認定)

......................................................................................................................................................

...................................................................................................................................................... 

[遠距教學、教學影片] ASP.NET (Web Form) 課程 上線了!MIS2000Lab.主講

事先錄製好的影片,並非上課時側錄!   觀看影片時,有如我「一對一」跟您面對面講課

 

    MIS2000 Lab.  線上教學影片(YouTube) **免費觀賞**