Forms Data Controls :: Large DropDownLists In GridView?
Jan 5, 2010
I have a gridview that is currently showing 20 lines per page. Each line has several fields in it, three of which are dropdownlists. These dropdownlists are populated with a SQLDataSource and then the selected value is bound to one of the gridview datalements.
The problem I'm running into is that the page is very slow to load. I believe this is because of the large dropdownlists (and possibly because there are roughly 60 of them, each of which is executing a SQL query to populate the list of available values). The file size that is being transmitted over the web is just over 1.25MB in size, again from the large amounts of data in the dropdownlists.
Is anyone aware of a technique by which I could only execute the query from the SQLDataSources that populate the dropdownlists' available values once and then reuse the results of that query to populate the relevant dropdowns? Ideally I would do this on the client side so it would also limit the amount of text being transmitted to the client browser.
I want to filter my gridview using two parameters that come from Dropdownlists. I bind these drops with two linq queries and next I would like to filter my gridview with query that has two parameters that comes from selected values from those drops. Everything is inserted in UpdatePanel. Here is my code:
I have a gridview with 4 dropdownlists and 1 label in each row. Suppose , text fields of each dropdownlists are a,b,c and value fields are 1,2,3 respectively.
In each row,label text is the sum of value fields of selected text fields of 4 dropdownlist.
For example,If selected text of 4 dropdownlists of a row are-b,a,b,c.
Then the label text of that row will be 8.(value field of b=2,a=1,c=3 , so b+a+b+c=8)
Whenever the selected text of any dropdownlist changes,corresponding label field also will change.
On one of my pages I display a Gridview. This contains a list of questions generated by a SQLDataSource, with a dropdownlist on each row containing the answers for that question. The answer values can be different depending on the question, so I populate them in the RowDataBound event for the gridview, using question information.
As the list of questions is longer than the page I have placed the gridview within a Div which allows me to use scrollbars to navigate the gridview. I also use some methods to preserve the location of the last question answered - so that on answering a question, the gridview does not reset to show the first part of the gridview.
This works fine for IE7, which is what I have been using for the development, and which part of my customer base uses. However, the other part of my customer base uses IE6, which causes a problem.
When an IE6 user attempts to answer some questions, they run into issues. Should they scroll down the gridview, when they select a value from a dropdownlist (Effectively, when they answer a question), there is a postback and all of the visible (i.e. onscreen) dropdownlists appear to be cleared. However, on mousing over any of the dropdownlists, their value is then shown. On using either the scrollbar, or on using the mousewheel to scroll the gridview, all the dropdownlists are 'refreshed' and their values are shown.
At no point does the application appear to lose the data, it is just not showing it until there is a mouseover or the gridview is refreshed. Another odd aspect of this is that this does not apply to the first 5 rows of the Gridview. Any of these can be altered without there being this display issue. Should the gridview be scrolled enough to show some of the first 5 rows and some subsequent rows, only the subsequent rows will have this display issue.
I have tried various things to correct this - originally I called my retrievescrollposition method on the SelectedIndexChanged event of the dropdownlist, but have since moved it to Page_Load as the Else branch of if (!IsPostBack). I tried rebinding the DropDownlist in the SelectedIndexChanged event, but this only helped with the Question I was answering - the display of any other onscreen questions was still affected.
I have got 2 Drop Down Lists on my Form and 1 GridView. I want GridView to display the data according to selection from the Drop Down Lists.
For Example, One Drop Down List contains Names and other contains Dates. Both the Drop Down Lists can post back. So if i select a name from 1st Drop Down list, the Grid View should show all the results according to that Name. Similarly if i select the Date from the other Drop Down List , the Grid View should show the results according to the dates. But i cant figure out as how to bind Grid View to respond to 2 Drop Down List.
BTW i am binding both the Drop Down Lists and the Grid View to the DataSource Objects, which is getting data from the database.
column 2 is a checkbox <cbxNeverAttended> not visible
column 3 is a textbox <tbxLastDate> not visible
in the 'GridView_RowDataBound'
i determine if a ddlGrade value already exists and if so, make it selected in the dropdownlist
also, if the value of ddlGrade is a "U" I make cbxNeverAttended and tbxLastDate visible
However, if cbxNeverAttended or tbxLastDate are both empty strings (and ddlGrade has the value "U"), I want to disable all instances of ddlGrade in the gridview (essentially forcing the user to enter a value for cbxNeverAttended or tbxLastDate before moving on to enter another ddlGrade).
But I have been unable to figure out a way to accomplish this on the 'Gridview_RowDataBound',
hope you guys are doing well! I have a question and no answer yet how to do it. Right now i can have 1 dropdownlist and when i press on my search button its show the result of the query the user ask
but how to do it with two seperates dropdownlist ? isnt it with inner join ? also if the value is null what to do ?
I have two dropdown lists that I am using to filter a gridview. I gridview is populating based on a query
select [AnnotationNumber],[AnnotationBy],[AnnotationType],[BusinessUnit] as Unit,[ErrorType],[ActualAgencyError],AnnotationComments,[sgkComments],[ActualAgencyError],Cust from vw_GridviewSource where Name = '"+@Name+"' and AnnotationDate = '"+@Stage+"'"; SqlCommand cmd = new SqlCommand(query); gvSummary.DataSource = GetData(cmd);
The @Name and @Stage variables are the selected values of the dropdownlist. When I start I get the two drop down lists on my webform. When I select the values from the dropdownlists, nothing happens. I get no gridview. I added onselecedindexchange event both dropdownlists and even after both are selected nothing. I debugged the code and found that there is a point where the value is correct, but I still don't see the gridview. I have alsochecked the query associated with the databind and it works perfectly when I check it in SQL. I am enclosing all the code from the aspx.cs and aspx.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Trakker.aspx.cs" Inherits="AnnoTracker.WebForm1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">
I have a dropdown in gridview. I bind the gridview after not ispostback condition. Now if i select drodown lsit value "Full" from the first row of gridview i need all other rows of dropdown in gridview to be selected "full" programtically and after that if the user wants to change other row dropdown to "half" then he can change it.
when i did not have too many controls on the gridview, it was displaying fine. but when i added more controls, it has become very slow and displays a large size for a second or so, and then comes to normal size.
ASP.NET 3.5,I'm upgrading a page that currently uses classic asp and xslt to display about 2000 readonly tabular records. Please leave aside the issue of whether this is a good idea or not.My asp.net replacement page uses a gridview to do the same thing.The scrolling in IE8 using this old code is very smooth and even. The scrolling using the asp.net page is horribly jerky. I can't figure out why - there doesn't appear to be much client side code running.Any clues welcome as this is a high traffic page that I want to look as good as possible.The same page also can't handle a row highlighter - same reason slow and jerky.
I have 65 columns in the grid, if the columns are reduced to 20 then the speed when accessing from client is more or less similar to that accessing from web browser. Does it mean that all this performance issue is due to the data only ???
In my database m having 1000 record and I want to display 10 record on each page on gridview so every time it fetch 1000 record so while page loading it is quite time consuming ..
am having three dropdownlists on my webform. On the based on their selection I am retriving records from a databas table. my code for retrieving records as follows.when I didnt select ant dropdownlist ans click the search button then it featch all records. but when i select an option from suppose i select from ddlDivision, even there is many records related to selected Division but it shows sorry no record found.
I have a FormView in InsertItem that contains one DropDownList linked to a Table Datasource to display ItemCodes. In that "lookup" table I also have a Retail and Cost field.When the user selects the item from the drop down, how can I have these to field carry over into my new record that is being inserted. The new record also has a Retail and Cost field that are TextBoxes.Basically I am populating the new fields with the default values from the DropDownList.
I need to filter data in a View using three dropdownlists that are populated independently of one another. The items in the second ddl are not based on the items in the first, etc. Each ddl is populated using its own sql statement. I want to be able to use each of these dropdownlists independently of the other two, but I want the data that is returned to be based on the values already in the other dropdownlists when I make a selection change.
For example: DDL1 is populated with Horsepower values from its own SQL statement.
DDL2 is populated with Gallons per Minute from its own SQL statement, unrelated to what is chosen in DDL1.
DDL3 is populated with Diameter values from its own SQL statement, unrelated to either of the other DDLs.
I want to be able to make a selection from any of the DDLs and filter data based on the selection, and whatever the current value is for the other two DDLs.
I'm coding in C# and I think I may need to create a delegate and an event to listen for when the SelectedIndexChanged event fires on any of the DDLs. This is slightly more complicated than anything I've coded up to this point, I'm a beginner, and I'm not even sure I'm aiming in the right direction for a solution.
I have two DropDownLists, and each one has a Control Parameter that references the other.
The idea is that if you select a value in either one of them, it restricts the possible values you can select in the other. And the user may select either one of them first.
Each one has an "All" option for selecting all values. (They are both used to restrict rows that populate a GridView).
This is all done using SQLDataSources.
The problem is that it doesn't seem to work at all. Both DropDownLists are empty, and the SQL that populates them never hits the SQL Server. But there is no error displayed.
If I have it going only one way, it does work, so I think the problem is the recursive nature of having them reference each other.
It would seem to be quite a common requirement, so its there any way of getting this to work?
I'm comfortable populating dropdownlists in a standard webform, but I seem to be having trouble populating them from within a gridview or listview.I know that I'll probably need to use the find control method, I've had a stab at it with the following:
[Code]....
The purpose of this is to allow someone to look at a bunch of records, and in a dropdownlist add an item to a group, but this "group" is in a separate table, so I want to take whatever value that select in the dropdown menu, lookup their user id, and add both bits of information to the other table, so it's technically not even editing, even though i suspect I'll need to use the edititem template?
I have a DetailsView control with several fields that is in insert mode. Three of them are the source of my problems and headaches.
I have three DropDownLists in template fields.
The first one is OK, bound to it's designated field in table1 in the database. The next two however have to change their bound tables according to the SelectedValue.
So far, I've managed to get it working, BUT when I insert the data I've entered, these two DropDownLists are not entered into the database.
DropDownList3 - the list that controls the other two DDLs
DropDownList4 and DropDownList5 - the list that need to change their items accordingly
DropDownList3 has six different values, so I have 6 tables for each of the other two DDLs
However I have only tried with one to see if it would work, that's why the Sub seems incomplete.
Here is the relevant part of the code:
[Code]....
And the DropDownList3_SelectedIndexChanged sub:
[Code]....
If I leave SelectedValue='<%# Bind("shelves") %>' and SelectedValue='<%# Bind("type") %>' in the <asp:DropDownList> tag of the two DDLs that change values, I get an error when the first one does the postback.
The error is:
Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control. This error, I spent a whole day looking through forums and knowledge bases, but I could find nothing that solves my problem. Maybe the problem is me, but my boss wants this done, despite it is not my area of expertise to write code.
I have a user control that is common to the application. It searchs for lakhs of Items in one go from the db and I set the selected Items in a list in a session to pass on to the pages that use it. Hence making the application a tad slower. The gridview that contains the Items should have sorting, page indexing. What according to u,I should do to enhance the application's performance ?Â