tag:blogger.com,1999:blog-6505213162600961434.post2829491259342393694..comments2023-05-30T23:46:48.209+08:00Comments on ~.:.': .NET碎碎念:'.':.~: Gridview 自訂分頁坎尼http://www.blogger.com/profile/14668329118252754405noreply@blogger.comBlogger20125tag:blogger.com,1999:blog-6505213162600961434.post-54603911843471897812010-11-07T17:53:12.538+08:002010-11-07T17:53:12.538+08:00若SqlDataSource來源資料為空時,
可以在 GridView 的 RowCreated 事...若SqlDataSource來源資料為空時,<br />可以在 GridView 的 RowCreated 事件針對 EmptyTemplete 進行處理 ^^坎尼https://www.blogger.com/profile/14668329118252754405noreply@blogger.comtag:blogger.com,1999:blog-6505213162600961434.post-77444943811974263412010-11-04T20:13:25.490+08:002010-11-04T20:13:25.490+08:00預設GV若SqlDataSource來源資料是空的時候 會跑到EmptyTemplete 可是這個範...預設GV若SqlDataSource來源資料是空的時候 會跑到EmptyTemplete 可是這個範例會無法執行 這部分大概要怎麼處理呢???Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6505213162600961434.post-5870019382533389952010-05-22T23:32:42.161+08:002010-05-22T23:32:42.161+08:00坎尼,謝謝你的回答,其實我錯誤的地方是因為我的getdata()的參數沒有接收到,才會導致沒有資料可...坎尼,謝謝你的回答,其實我錯誤的地方是因為我的getdata()的參數沒有接收到,才會導致沒有資料可以顯示啦~~。:pAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-6505213162600961434.post-69898347734801776272010-05-22T15:12:36.914+08:002010-05-22T15:12:36.914+08:00恩恩,如果是自己取得資料來源
需再加上 GridView.DataBind()
本篇範例是用 Da...恩恩,如果是自己取得資料來源<br />需再加上 GridView.DataBind()<br /><br />本篇範例是用 DataSource 控制項<br />由於此控制項會自動進行 Binding 的動作<br />故範例中並未呼叫 DataBind()坎尼https://www.blogger.com/profile/14668329118252754405noreply@blogger.comtag:blogger.com,1999:blog-6505213162600961434.post-23590290033359185322010-05-22T14:41:35.383+08:002010-05-22T14:41:35.383+08:00請問GetData(),有包含DataBind()嗎?
因為我按下一頁時,GridView1.Pag...請問GetData(),有包含DataBind()嗎?<br />因為我按下一頁時,GridView1.PageIndex會是0,導致沒有資料吶!Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6505213162600961434.post-85468968694801084982010-04-28T13:19:17.848+08:002010-04-28T13:19:17.848+08:00hi坎尼
我執行的時候還是發生找不到物件的錯誤(冏很大)
檔案已寄出,屢次麻煩你真不好意思
謝謝...hi坎尼<br /><br />我執行的時候還是發生找不到物件的錯誤(冏很大)<br />檔案已寄出,屢次麻煩你真不好意思<br /><br />謝謝Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6505213162600961434.post-72568203201681457842010-04-28T11:12:52.952+08:002010-04-28T11:12:52.952+08:00hi 匿名,
你的 code 看起來很正常,而且我試沒發生什麼問題 囧>
執行畫面抓圖
...hi 匿名,<br /><br />你的 code 看起來很正常,而且我試沒發生什麼問題 囧><br /><br /><a href="http://picasaweb.google.com.tw/lh/photo/W-iBbUwlOb1g8eJOkus1sQ?feat=directlink" rel="nofollow">執行畫面抓圖</a><br /><br />方便的話可以把這頁的 source code 寄給我看看嗎? 很想知道哪邊有問題 :) (點我的名字可以看到信箱)坎尼https://www.blogger.com/profile/14668329118252754405noreply@blogger.comtag:blogger.com,1999:blog-6505213162600961434.post-45311220207050044332010-04-28T09:07:37.285+08:002010-04-28T09:07:37.285+08:00hi坎尼
這裡不支援html標籤,我去找了圖片空間
這是我的html檔
http://thumb...hi坎尼<br /><br />這裡不支援html標籤,我去找了圖片空間<br /><br />這是我的html檔<br />http://thumbsnap.com/5V9ErLja<br />這是我的設計檢視畫面<br />http://thumbsnap.com/nhxhVduM<br />再麻煩你幫我看看<br /><br />謝謝Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6505213162600961434.post-20666747123435287182010-04-27T18:11:39.169+08:002010-04-27T18:11:39.169+08:00hi 匿名,
不知道你動態產生 Control 的 Code 寫在什麼地方?
我直接把上面那段 ...hi 匿名,<br /><br />不知道你動態產生 Control 的 Code 寫在什麼地方?<br /><br />我直接把上面那段 Code 複製貼到 DataBound 的事件中可以抓到 DropDownList (但我是事先就放在 PagerTemplate 裡)<br /><br />抓不到的原因也有可能是抓錯 PagerRow<br />有 BottomPagerRow 和 TopPagerRow 兩種,這個也需確定一下<br /><br />另外可多用中斷點來查一下原因 :)坎尼https://www.blogger.com/profile/14668329118252754405noreply@blogger.comtag:blogger.com,1999:blog-6505213162600961434.post-59113248909794588372010-04-27T11:12:48.900+08:002010-04-27T11:12:48.900+08:00hi坎尼
我簡單弄了一個gridview,希望你能幫我看看
protected void...hi坎尼<br /><br />我簡單弄了一個gridview,希望你能幫我看看<br /><br /> protected void GridView1_DataBound(object sender, EventArgs e)<br /> {<br /> GridViewRow pagerRow = GridView1.BottomPagerRow;<br /> DropDownList pageList = (DropDownList)pagerRow.Cells[0].FindControl("DropDownList1");<br /> Label pageLabel = (Label)pagerRow.Cells[0].FindControl("Label1");<br /><br /> if (pageList != null)<br /> {<br /> for (int i = 0; i < GridView1.PageCount; i++)<br /> {<br /> int pageNumber = i + 1;<br /> ListItem item = new ListItem(pageNumber.ToString());<br /> if (i == GridView1.PageIndex)<br /> {<br /> item.Selected = true;<br /> }<br /> pageList.Items.Add(item);<br /> }<br /> }<br /> if (pageLabel != null)<br /> {<br /> int currentPage = GridView1.PageIndex + 1;<br /> pageLabel.Text = "Page " + currentPage.ToString() +<br /> " of " + GridView1.PageCount.ToString();<br /> } <br /> }<br /><br />照理說,databound應該是gridview已繫結資料才執行,gridview應該已經產生了吧(?),可是findcontrol還是會出錯<br /><br />謝謝你的回答Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6505213162600961434.post-428775796512735952010-04-27T01:01:32.170+08:002010-04-27T01:01:32.170+08:00hi 匿名,
因為你把判別按鈕狀態放在 GridView1.PageIndex=intPageIn...hi 匿名,<br /><br />因為你把判別按鈕狀態放在 GridView1.PageIndex=intPageIndex 之後,而此時 GridView 尚未進行 DataBind() 的動作<br />而你再按一次判別式才成功的原因是:系統讀取的是上次的 PageIndex 狀態<br /><br />所以這邊還是建議把<b>判別按鈕狀態</b>放在 Gridview DataBound 事件中 (本篇範例中放 pageSet 的地方)<br /><br />至於要抓動態產生的 Control,抓取事件當然是要在已經動態產生之後才利用 FindControl 去抓<br /><br />注意一下先後順序應該就可以解決你的問題 :D坎尼https://www.blogger.com/profile/14668329118252754405noreply@blogger.comtag:blogger.com,1999:blog-6505213162600961434.post-11149032495216115962010-04-26T09:46:29.067+08:002010-04-26T09:46:29.067+08:00hi坎尼,
謝謝你,即使我描述的如此不清楚,你還是願意替我解惑
事情的起因是這樣的,我做了一個透...hi坎尼,<br /><br />謝謝你,即使我描述的如此不清楚,你還是願意替我解惑<br /><br />事情的起因是這樣的,我做了一個透過點選button使用textbox.text去做資料繫結的gridview,之後嫌pager太醜,打算自己作一個,因而來到坎尼的網站<br /><br />坎尼是把LinkButton是否為第一和最後一頁的判別式放在pageSet(),我則是放在Query_Click()的GridView1.PageIndex=intPageIndex之後,造成分頁在第一頁時LinkButton依舊為有效,再次點選第一頁或上一頁,LinkButton才會失效<br /><br />另外再請問一個問題,可能是因為我的gridview是透過Click Button動態產生,所以我的DropdownList無法用findcontrol找到,這該如何解決<br /><br />期待也謝謝你的回答Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6505213162600961434.post-72345574028966348172010-04-23T20:36:08.299+08:002010-04-23T20:36:08.299+08:00hi 匿名,
雖然不是很了解你的情況,坎尼還是試著猜想一下:
指定完 Gridview.PageI...hi 匿名,<br /><br />雖然不是很了解你的情況,坎尼還是試著猜想一下:<br />指定完 Gridview.PageIndex 時,由於繫結著 DataSource 控制項<br />所以整個 Gridview 會重新 Create<br /><br />把 LinkButton 控制狀態的 Method 放到這之前去,會導致因為重繪而讓已做的改變無效?<br /><br />試著把 LinkButton 的 EnableViewState 設定成 true 看看,看是否還會出現問題 ^^坎尼https://www.blogger.com/profile/14668329118252754405noreply@blogger.comtag:blogger.com,1999:blog-6505213162600961434.post-27441342742931348232010-04-23T12:10:11.098+08:002010-04-23T12:10:11.098+08:00坎尼你好
我想請問一下為何我將LinkButton失去作用的程式碼放到
GridView1.Pa...坎尼你好<br /><br />我想請問一下為何我將LinkButton失去作用的程式碼放到<br /><br />GridView1.PageIndex=intPageIndex;<br /><br />之前,LinkButton就不會正常作用了呢?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6505213162600961434.post-39739905317085970082009-11-15T14:19:49.661+08:002009-11-15T14:19:49.661+08:00哈哈...(汗)
嗯嗯,大致瞭解了,感謝您。哈哈...(汗)<br /><br />嗯嗯,大致瞭解了,感謝您。Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6505213162600961434.post-12176948928761652672009-11-13T20:21:09.032+08:002009-11-13T20:21:09.032+08:00他應該只是時間過太久所以忘了吧 (汗)
頁數就是靠目前的 Gridview.PageIndex 去...他應該只是時間過太久所以忘了吧 (汗)<br /><br />頁數就是靠目前的 Gridview.PageIndex 去算出該顯示的頁碼<br /><br />舉例來講,全部的資料有 28 頁,目前的頁碼在 12 頁<br />就用 for 迴圈把 LinkButton.Text 改成 11 12...20<br /><br />若是目前頁碼跳到 23 頁<br />一樣用 for 迴圈把 LinkButton.Text 改成 21 22...28<br />最後兩個 LinkButton 就把 Visible 設定成 false<br /><br />下次有空我再來做個集大成的 Gridview Pager 好了...坎尼https://www.blogger.com/profile/14668329118252754405noreply@blogger.comtag:blogger.com,1999:blog-6505213162600961434.post-42242153111257321182009-11-13T11:59:08.775+08:002009-11-13T11:59:08.775+08:00請問坎尼大大,加入 10 個 LinkButton ,再用目前的頁碼去計算該顯示的數字 這樣是要怎麼...請問坎尼大大,加入 10 個 LinkButton ,再用目前的頁碼去計算該顯示的數字 這樣是要怎麼做 什麼意思阿? 那頁數的數字是要怎麼改變?<br /><br />看樣子2樓的大大是會了,沒有提出其他問題..Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6505213162600961434.post-75339325012381658642009-10-31T19:51:40.994+08:002009-10-31T19:51:40.994+08:00若要把這兩個分頁結合,請利用本篇的自訂分頁技巧,自己加入 數字 的選單
建議是自己加入 10 個 L...若要把這兩個分頁結合,請利用本篇的自訂分頁技巧,自己加入 <b>數字</b> 的選單<br />建議是自己加入 10 個 LinkButton ,再用目前的頁碼去計算該顯示的數字<br />(比方講,1 2 3...10)<br /><br />跳頁的事件可直接套用本文的事件處理 (見下圖)<br />http://1.bp.blogspot.com/_bGOQZqQ9oEM/SKucE_qMGXI/AAAAAAAAAJs/NuymfnAOd60/s1600-h/udPager4.png<br /><br />另外回一下一樓<br />(雖然是很久之前的回應,我沒收到訊息通知,抱歉啦)<br />若是上下兩層的 PagerRow 都打開,記得把事件裡的 FindControl 也寫兩份<br />一個是用 Gridview.TopPagerRow<br />另一個是 Gridview.BottomPagerRow坎尼https://www.blogger.com/profile/14668329118252754405noreply@blogger.comtag:blogger.com,1999:blog-6505213162600961434.post-25091057495421151452009-10-29T10:17:10.597+08:002009-10-29T10:17:10.597+08:00坎尼大大
請問您的兩個分頁 要如何結合?
http://dotnetmis91.blogspot.c...坎尼大大<br />請問您的兩個分頁 要如何結合?<br />http://dotnetmis91.blogspot.com/2008/08/gridview.html<br /><br />不知道可不可行<br /><br />謝謝Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6505213162600961434.post-41067865308063010012008-11-03T19:18:00.000+08:002008-11-03T19:18:00.000+08:00HI~坎尼我想請問 如果想讓上下方同時都有分頁的效果 是要設定 Gridview.PagerSett...HI~坎尼<BR/>我想請問 如果想讓上下方同時都有分頁的效果 是要設定 Gridview.PagerSettings.Position = PagerPosition.TopAndBottom;<BR/><BR/>那上方的下拉選單跳頁SelectedIndexChanged 該如何指定<BR/><BR/>因為上方的DropDownList 是要取TopPagerRow的FindControl 就無法共用同一個SelectedIndexChanged <BR/><BR/>而我目前測試的結果Grid 似乎不能有兩個PagerTemplate來區分上下的下拉選單<BR/><BR/>麻煩坎尼解答一下~3qAnonymousnoreply@blogger.com