Forms Data Controls :: Should Caching Be Used In Conjunction With Custom Paging
Feb 8, 2010
I'm doing a tutorial on custom paging. It makes sense to use this for a high volume site. I haven't worked with caching yet but that also seems very useful for a high volume site. Are these two things typically used in conjunction with each other?
Can someone offer some guidance on when to use or not to use these together?
I've used datagrid view to show a list on records on page, the list contains huge number of records so paging was required. Since the amount of data was huge it was not advisable to bind the grid with complete data. So, I used custom paging and tweaked the sql statements to get page wise data. Now whenever user clicks next or previous data for current page is fetched from the database and gridview is binded with that much data only.
Now I had to add a checkbox column to the grid so that user can select multiple items on multiple pages and perform an operation (for example send email to selected people in the list). I achieved this by making a template column with checkbox control and keeping a boolean column in the datatable which is binded to the gridview. I've also kept a collection selected checboxes so that the state is maintained on every postback.
I've also used ajax so that user cannot see postback happeneing. Everything works just perfect.Here comes the problem:
Now say I have 5 pages of data to be displayed. I select 3 people from first page and move to next page, this will cause fresh databinding and previous data will be lost.Now I go on and select 3 more people from page 2Finally press the send mail button What is expected here is that the mail should be sent to 6 people but details of only 3 people are available because grid is rebinded.
What is the best way to cach data of selected rows in this case. The number of columns is around 20 out of which I show only 10 columns on screen and others are kept hidden. The values of hidden columns are used while sending the emails.
I'd like to implement a custom paging template for my formview that displays numeric paging as well as next/previous buttons. The pre-defined templates only appear to have numeric first last as an option. Can anyone recommend a good article that covers this?
I have read your article from aspsnippets.com about custom paging it really work, but there are a problem that if there are more record in database (2000 to 5000) than number of page index will be goes in large number. like 1 to 200, any way which can divide it like 12345678910...2000.
As a part of requirement, I need to bind a table data to the Gridview, but the data content in the table is too large. I need not want to bring in all the data into the dataset, rather I need to bring only the rows that are needed to be displayed(Eg, if the page size is 10, i need only 10 records to be filled in dataset
I have a gridview control which contains aproximately 2,040 records of IP addresses. Right now I have setup my gridview control with the following options: AllowPaging="True" PageSize="255".
This has the effect of placing each IP range on its own page. So for instance 192.168.0.1-192.168.0.255 is on page 1, and 192.168.1.0-192.168.1-255 is on page 2 and so forth. The issue is that finding the IP range I want in the application is really a pain and I usually have to click page by page through the gridview to find the range I want to edit.
I'd like to have a custom paging and instead having pagination which says 1,2,3,4,5,6 etc had more meaningful labels like "192.168.0.x Range", "10.10.10.1 Range", "172.22.50.x range" and so forth. So that I can immediately jump to the page that I want. note that in most cases I need to browse the data not search for a specific element so creating a searchbox isn't neccessarily the answer. I just need more efficient paging.
I'm not really sure how to accomplish this. I've tried searching google for custom pagination + gridview etc and I'm not having much luck. Maybe I don't have the right combo of search terms.
Im pretty confused on this and would appreciate any suggestions.Im trying to implement custom paging because my database has some 400,000ish records and i want to show 20 at a time in a gridview. I don't want to use a datasource in the html because this gridview gets populated using a dataset in the .cs (c#) because the user first filters on params. I have two sp (on to get the total record count and one that filters). Both sp work.
[Code]....
and...
[Code]....
Does anyone know how i can tell my gridview (and if i need to implement a datapager) the total number of records, to get the page numbers on the bottom correct and then pass the parameter @PageNum @PageSize@sortExpression?
Is there any way to have the gridview page by categories instead of pages. In other words instead of at the bottom having some sort of page numbering scheme there would be categories from a specific column (kind of like a group by in sql) arranged along the bottom and when I would click one it would page to the start of all those matching rows (preferably return all of them rather than just say 10 or 20).
I am using ObjectDataSource controll to bind gridview and using custom paging. Everything working fine but the problem arises when last page contains only one record and i try to delete it-- gridview disappear.
Below is ObjectDataSource declaration..It is working fine..only problem is with deleting from last
i have a gridview with paging[index 10] enabled on my webpage, now i want a simple dropdownlist in footer or below gridview to have list of no 20,30,40.so that when user selects 20 from it the gridview shows 20 records on same page,when 30 is selected the gridview should show 30 records.i cant figure it out that how to do it, whether it requires coding at database(MYSql) or can be done at the page itself.
My question is if my page size is 10 records per page and my query returning 100,000 rows then remaining all records are not in use for that page.
Is there any way so I can only fetch records from table as page size (10) with all page numbers at bottom and fetch next 10 records only when user clicks on next page number?
I use gridview in my page and i bound data from sql to my gridview i want use paging
In my grid view i read this article : [URL] ....
But there is dropdown list that we can chang page size i dont want use this drop down . I want use some defult page size for my grid view how i can do it?
I used this linked to create my customized paging. [URL] .... when the total number of page is 1000 it displays all 1-1000 in the pagination. Now i want is <<1 2 3 4 5 6 7 8 9 10 .... >> when click the dots << .. 11 12 13 14 15 16 17 18 19 20 ... >>
I want to export all repeater data in excel file i used following code but it take only first page data means page size 10 it export only 10 record i want to export whole repeater data
Moderators Note: THIS ISSUE IS BIG FOR ME AND EVEN IF POSSIBLE, GET THE REPLY FROM THE DESIGNER OF GRIDVIEW. I have been looking for him for long. I am really fed up with reviewing a good lot of web pages on how we can possibly customize the gridview to enable sorting and paging. So many sites have listed out a lot of information and so many guidances. But the problem is that one works out fine and the other is a burden. I really feel bad about being given the job of customizing this kind of a gridview which has no user friendly approach to it. Also, this control is rendered without the pager links inside the <tfoot> tag. I have tried the Pear Pager in php. It is that good and easy to use and compared to that, the gridview in asp.net is the worst ever control i have ever tried so far.
1. i can use the images to indicate the sorting direction 2. I can have the custom pager like
[code]
<<Previous 1 2 3 .. 7 Next >>.
[/code]
When i click the next when i am viewing the page at 3 , the pager links should change as
[code]
<<Previous 2 3 4 .. 7 Next >>
[/code]
Kindly look into this type of requirement and firstly tell me whether this is possible with the gridview control. I would like this request even to be escalated to the designers of the gridview control also, so that Microsoft comes out with a reply THAT WORKS and not the kind of stuff like surfing through a lot of links and pages and finally wasting a lot of days precious time and still breaking the head with this useless control. I have spent a lot of time in searching for a perfect way. Not writing a code that is non-standard. I am really serious b'cos I have spent weeks in customizing this control. If I dont get a solid reply atleast now, I am going to generate all the output by HTML content by custom coding.
Is there a way to use the GridView paging and having the links not use JavaScript. So that when you click on the page number 5 (for example) that link is a hyperlink.
here's a situation and I would appreciate your response.
I have programmatically created the Wizard control:
Page_Load(obj s, evargs e) { Wizard ClaimDetailWizard = new Wizard(); foreach(int item in selectedItems) { //create new step //added custom control to new step //add step to wizard } //added wizard to a placeholder on a page }
Based on List I get from Session i added new steps to my wizard To each step I had added a custom control
Each custom control in tern contains another custom Gridview Control in it.
So here's the problem when the page loads for example for two steps. All is good Wizard does what it's supposed to do.
But when I try to use sorting or paging in that custom Gridview. Somehow it displays the gridview I should see in the next step of the wizard.
Also what I'm noticing through debugging. Is that when I press next in the wizard I go back to the original page where I do all of the code specified above, and it recreates the wizzard. But it goes to the next step. Is this the way wizard supposed to work? Just doesn't seem very efficient.
currently it works if i remove the PagerSetting or remove the PagerTemplate so if have both (PagerSetting & PagerTemplate) then my page number not display.
my qeustion is: how can i display both (PagerTemplate and PagerSetting) togather at the bottom of the Gridview? plese see the below source code.