台灣最大程式設計社群網站
線上人數
1127
 
會員總數:246133
討論主題:189712
歡迎您免費加入會員
討論區列表 >> ASP.NET >> ASP.NET 如何自動點選Gridview的編輯按紐
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
ASP.NET 如何自動點選Gridview的編輯按紐
價值 : 80 QP  點閱數:459 回應數:8
樓主

pkko
門外漢
0 30
608 66
發送站內信

各位大大好,又麻煩各位大大,問題如下:
我產生了一個Gridview透過以下方式





並在GridView1_RowCreated的時候新增一個編輯欄位


一切使用都順利
但該編輯按鈕只存在於標題列,其於每一個資料列都是空白的沒有按紐
必須按一下標題列的編輯按紐,整個欄位才會出現每一列都可以按下的編輯按紐

問題一:請問要如何才可以自動出現每一列的按紐?
問題二:標題列的按紐要如何可以消失?

搜尋相關Tags的文章: [ ASP.NET ] , [ Gridview ] ,
本篇文章發表於2020-04-11 15:04
== 簽名檔 ==
努力!努力!再努力!!!
1樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
RowCreated事件之後,還有RowDataBound資料綁定的事件
猜測,您的每一筆的編輯按鈕,應該是在資料綁定時,被清掉

建議:
1.不妨您將產生按鈕,寫在RowDataBound事件中
2.您想要產生的按鈕在【資料的Row】,那麼應該加個判斷,判斷RowType是否是DataRow,DataRow才加上按鈕

------
小喵個人不太建議用這種動態的方式去處理
因為接下來,還有按鈕的【委派】
程式最後通常不太好維護

比較建議GridView搭配DataSource控制項

也許您會說,希望要綁定資料是程式處理過,那麼要怎麼處理
您可以試著學一下GridView搭配【ObjectDataSource】還有【類別裡的Function】
把您的資料讀取的程式,寫在【類別裡的Function】

這一篇您參考看看


ObjectDataSource簡介Part1:兼具ADO.NET的自由與DataSource的方便
本篇文章回覆於2020-04-13 09:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

pkko
檢舉此回應
感謝topcat版主
小弟先研究一下再跟您回報
感激!!!
本篇文章回覆於2020-04-13 15:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

MIS2000 Lab
檢舉此回應
您在 GridView1_RowCreated事件裡面,應該少寫了很重要的一段程式
或是寫錯了,通常有一段 if判別式 e.Row.RowState之類的
所以才會出現您說的「編輯按鈕只存在於標題列,其於每一個資料列都是空白的沒有按紐」

最簡單的作法,
就是把 GridView的 CommandField轉成"樣版"
手動加入Button按鈕,會好寫很多(類似topcat大大說的作法)


先把 GridView1_RowCreated事件與相關的 RowDataBound事件搞清楚吧
後續就會很簡單囉 :-)
本篇文章回覆於2020-04-14 21:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

MIS2000 Lab
檢舉此回應
大概類似這樣,希望對您有幫助
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
}


說明文章 https://www.dotblogs.com.tw/mis2000lab/2014/02/20/gridview_controls_add_checkbox
本篇文章回覆於2020-04-17 14:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

pkko
檢舉此回應
回復各位大大
目前遇到的問題

1.我動態產生出來的按鈕,若只使用RowDataBound則一查詢就會出現按鈕沒錯,但按下按鈕之後,所有按鈕就消失了...
2.若是寫在GridView1_RowCreated則會持續存在,所以目前還是用這個方式

額外的問題
1.假設我已經把網頁往下拉,當我按下按鈕,則畫面會滾動到網頁的最上方,有沒有方式可以停止網頁的畫面轉動?
本篇文章回覆於2020-04-22 14:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
先這麼問好了
為什麼會想要用【動態產生按鈕】
如果可以不必【動態產生按鈕】
是否可以接受?
本篇文章回覆於2020-04-23 09:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

pkko
檢舉此回應
版主大大您好,

可以接受不用動態產生按鈕
但Gridview必須要有按鈕可以按
不曉得如何處理,我目前只會動態產生的方式
本篇文章回覆於2020-04-25 14:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
最有價值解答

topcat
捐贈 VP 給 topcat 檢舉此回應
首先是您用程式取得資料的部分
小喵特別推薦您,使用ObjectDataSource來處理用程式來處理CRUD的部分

這部分小喵推薦您小喵的以下這篇的系列
https://dotblogs.com.tw/topcat/2008/06/27/ObjectDataSourcePart1


要按鈕絕對沒問題
您可以預先使用TempleteField來安排按鈕

由於不清楚您按鈕要做什麼,是否要做特別的處理
所以我只提供方向
您可以搜尋【GridView TempoleteField】的關鍵字,來查一下TempleteFieldield的用法
這些都在aspx的畫面中可以預先安排的
CodeFile裡面的程式碼會很短或者甚至沒有

您參考一下

如果想要我這邊提供您按鈕的作法
請更清楚地描述你的按鈕要做什麼事情
最好有具體的例子
我這樣比較好依據您的需求提供範例

^_^
本篇文章回覆於2020-04-27 15:32
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.