Click here to Skip to main content
15,880,503 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I am working on a timetabling application that allows students to choose classes from Monday to Saturday and there are three different time slots like MORNING, AFTERNOON and EVENING. That leads to 18 different combination for Day and Time. Student will be allowed to choose one subject per time slot and any subject can only be selected once during the week period. To implement this I used 18 gridviews and populate them with subjects run by college which is at the most 3 subjects during one time slot (e.g. MONDAY MORNING ). I am using mutually exclusive checkboxes to implement subject selection only once during the week.

Implementation is working fine but I am worried about performance as there are lot of postbacks during the time slot selection and deselection as every single time student check or uncheck a chekcbox the postback occur to make certain business logic to execute.

1> Are having that many gridviews on a page is a sing bad design ?
2> Is there a way to improve this ? Any alternative to this design ?
Posted

Gridviews are one of the heaviest controls provided by the ASP.NET.

So if at a single point of time, you are showing 18 gridviews then it would cause performance issue.

I would suggest, group your girdviews properly, might be day wise, and show 2 to 3 gridview at a time. when a user with these selection, then move to the next selections.You can use multiview.
 
Share this answer
 
You can make first combobox of Monday to Saturday.

After that selection you can make another combobox of MORNING, AFTERNOON and EVENING.

After this filter crieteria, you can show your gridview and Brij is also correct that show 2 to 3 gridview at a time then give the next-prev functionality to show it.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900