none
取出單一欄位值 RRS feed

  • 問題

  • 我用一個Gridview 會取出資料庫的值 旁邊有選取的選項

    我要如何點選取後將我選到的那行資料的某一欄位值抓出來 顯示

    假設資料列有 ID 姓名 生日
    我點下點選後 我要讓下面的Label顯示這行資料ID 點另外一個人得資料就顯示他的ID
    2010年1月26日 上午 09:56

解答

  • 可以參考mis2000lab大 的文章:[習題] "選取" Gridview的某一列 & 那一列對應資料表的P.K.值

    應該完全符合你的需求。
    In 91 :http://www.dotblogs.com.tw/hatelove/Default.aspx
    2010年1月26日 上午 10:01
    版主
  • 程式碼跟註解都寫在上面了,哪裡不懂?

    「選取」這應該是個 Button 或 LinkButton 吧?那就仿照
    <asp:Button ID="btnModify" runat="server" CommandArgument='<%# Eval("ProductID") %>' Text="更新" />
    把你要的欄位值繫結到 CommandArgument 上。

    如果你只是設計畫面拉一拉,然後在 GridView 的智慧標籤勾選出「樞紐分析表選取模式」,那就去編輯資料行,把選取欄
    轉換為 TemplateField,接下來就會看到類似底下原始碼:
    <asp:TemplateField ShowHeader="False">
        <ItemTemplate>
            <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Select"
                Text="選取"></asp:LinkButton>
        </ItemTemplate>
    </asp:TemplateField>
    然後就像前面講的加上 CommandArgument='<%# Eval("你要的資料欄位") %>',接下來會抓了吧?
    2010年1月27日 上午 06:48

所有回覆

  • 可以參考mis2000lab大 的文章:[習題] "選取" Gridview的某一列 & 那一列對應資料表的P.K.值

    應該完全符合你的需求。
    In 91 :http://www.dotblogs.com.tw/hatelove/Default.aspx
    2010年1月26日 上午 10:01
    版主
  • 如果要取其他欄位也能這麼做嗎?  如果要取別的欄位值而不是ID呢?
    2010年1月27日 上午 03:14
  • 不太懂裡面的意思 ~"~

    我有兩個表會用到這樣的功能

    一個表主鍵是ID , 輸出時有選到並顯示主鍵 ID 所以不會有錯

    但另一個表主鍵並不是ID, 輸出時是沒有選到也不會顯示主鍵的,我嘗試用相同的方式會顯示超出陣列

    要讓主鍵ID也輸出才會對

    我要從我點選的這行得到某個欄位怎麼辦?
    2010年1月27日 上午 06:05
  • 程式碼跟註解都寫在上面了,哪裡不懂?

    「選取」這應該是個 Button 或 LinkButton 吧?那就仿照
    <asp:Button ID="btnModify" runat="server" CommandArgument='<%# Eval("ProductID") %>' Text="更新" />
    把你要的欄位值繫結到 CommandArgument 上。

    如果你只是設計畫面拉一拉,然後在 GridView 的智慧標籤勾選出「樞紐分析表選取模式」,那就去編輯資料行,把選取欄
    轉換為 TemplateField,接下來就會看到類似底下原始碼:
    <asp:TemplateField ShowHeader="False">
        <ItemTemplate>
            <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Select"
                Text="選取"></asp:LinkButton>
        </ItemTemplate>
    </asp:TemplateField>
    然後就像前面講的加上 CommandArgument='<%# Eval("你要的資料欄位") %>',接下來會抓了吧?
    2010年1月27日 上午 06:48
  • 原來是這麼做的 這樣我明白了 感謝前輩的解說
    2010年1月29日 上午 03:02
  • 我用一個Gridview 會取出資料庫的值 旁邊有選取的選項

    我要如何點選取後將我選到的那行資料的 [某一欄位值] 抓出來 顯示
                             ^^^^^^^^^^^^^^^^^^^^

    假設資料列有 ID 姓名 生日
    我點下點選後 我要讓下面的Label顯示這行資料ID 點另外一個人得資料就顯示他的ID

    您應該也會用到 .FindControl()方法
    請參考一下:

    [習 題] FindControl 簡單練習--抓取大控制項(GridView/ListView/FormView/DetailsView)裡的「子控制項」

    網址 http://www.dotblogs.com.tw/mis2000lab/archive/2009/10/16/gridview_findcontrol_sample_20091016.aspx



    這裡有 6個相關的範例給您參考
    http://www.dotblogs.com.tw/mis2000lab/Tags/FindControl/default.aspx


    我的書 與 ASP.NET教學網站 http://www.dotblogs.com.tw/mis2000lab/
    2010年2月12日 上午 07:47