Filtering GridWiew/ObjectDataSource With Multiple Controls
Jan 21, 2010
Im looking for a flexible way of filtering a GridView from multiple DropDownLists and TextBoxes(from/to date). Filtering by the DDLS and txtboxes works fine separately, but I can't get them working good together.I have followed the Data Access tutorial and created a three-tier website(DAL - BLL - Pres). I have done it by creating a tableadapter with a multiple methods that receives parameters I want to filter on.The DropDownLists depend on each other, so you cannot filter on something that isnt there.How can I add textboxes make sure that only correct dates based on the DropDownLists can be chosen? Using a DropDownList and maybe get 100 dates is not that good.
I'm using a GridView with an ObejctDataSource. The data is provided by a business object and not a DB. It returns a list of people and each person belongs to a group. Now I need to filter data. For example, I need to return list of people in specific groups. How can I specify a list of groups to be able to filter the data ? Could I use SQL like syntax ? I understand the filter expression works only when data is returned as a datatable. But in my business object I maintain data as hashtables and return as List<PeopleInfo>. Do I need to return list as datatable instead ?
I am writting a directory website that advertises fitness classes. These classes are listed by Class Type, and Geographical Area. Each Class Type can satisfy one or more of four Fitness Goals such as Loose Weight etc...
I have a table for Classes (classid, classname, classdesc, classtypeid, geoareaid) I have a table for geographic areas (geoareaid, geoarea) And I have a table for ClassTypes (classtypeid, classtypename, classtypedesc)
Which obviously links geographic area via the classes.geoareaid as a forgien key and classtypes by classes.classtypeid as a forgien key.
I can list all classes by type and also by geo area no problem, the problem arrises when I then also want to filter by goal.
The Goals Table (goalid, goal, goaldesc) is linked to the classtypes table via another table classtypes_goals (classtypeid, goalid) as each classtype can satisfy any of the 4 goals.
I am using a DataSet to fetch the data from a Stored Procedure in the SQL Database but because the classtypes can be linked to multiple goals I am getting duplication in my list depending on how many goals a classtype satisfies.
All I need in my data list is class name, class type and area I don't even need to display the goal I just want a drop down above the table that will filter the list and show only classes of classtype that satisfy the goal chosen.
I have a standard gridview, with the standard paging and sorting interface enabled.The application holds appointments for three organisational units, with a maximum of 3000 appointment records being returned across all three units. The appointment records are quite small.
The choice I am faced with is to:
1. Have an Org Unit dropdown which returns to the datasource on change of selection and at inital databind, and returns appointment records for one org unit at a time i.e. approx 1000 records.
2. Have the objectdatasource return all 3000 appointment records for all org units at initial databind, and filter the objectdatasource by org unit on change of selection, thereby saving a trip to the datasource.
I guess the question boils down to identifying the point at which querying the datasource by org unit is more efficient than filtering the records returned by org unit.
Is 3000 records a lot for a gridview to be paging and sorting etc.
so here is the setup. I am building a page that has a listview, a datapager, and 3 datapagerfield (2 x NextPreviousPagerField, 1 x NumericPagerField), and a objectdatasource to tide all of this together.
It was all working fine until I put a breakpoint into the SelectMethod specified in the objectdatsource control. It seems like that for each datapagerfield control, it is calling the selectmethod and selectcount method. Hence, whenever a user paged, it calls the database 6 times instead of 2 (I don't have caching turned on atm). If I remove one datapagerfield, it will remove 2 calls.
Now this is build in asp.net 3.5 SP1 in VS2008. When I copied the same code files to a asp.net 4.0 VS2010 solution, it duplicate call seems to be gone.
I have GridView that is bound to an ObjectDataSource and within that GridView I have CheckBox, DropDownList, TextBox and Label controls. All the controls except the CheckBoxs are working like a champ or normal display and Delete (Insert is handled outside the GridView, it works also). The CheckBox values are passed into the update method for the ObjectDataSource as type byte. Without doing any custom coding the CheckBoxs were always unchecked (regardless of the data being 1 or 0) and when I edit a row in the GridView and saved the values the CheckBox controls would always be 0 even if the check boxes where checked. After searching web I found a suggestion to change the binding on the CheckBox controls from, Bind("Monday") to this, CheckUncheck(DataBinder.Eval(Container.DataItem, "Monday")) with CheckUncheck being a method to make 0 or null = false and 1 = true. This seemed to the do the trick and it set the CheckBoxs correctly in the DataGrid, I was giving myself high-fives, until I tried to update a row.
When doing the update, as with my first attempt, it would always set the CheckBox values to 0, thus ignoring the checked property of the CheckBox. So I search the web again and found a suggestion to handle the update manually, due to the binding being one way. So I created a myUnhappyGrid_RowUpdating event handler and changed all the columns in the GridView to template so I could do the old school .FindControl on them and grab the values. Once I was able to grab the values from the row to be updated I added them to the ObjectDataSource .UpdateParameters and called ObjectDataSource.Update() and it worked, kind of. Now came the next trial, it did the update into the database just fine and I was happy, until. I finished stepping though the code. As I stepped through the code the update on the ObjectDataSource got called two more times, thus undoing what I had just spent hours fixing. First, is the road traveled the right way to do it? Second, if I am on the correct road how can I suppress the additional two updates that follow my manual .update call on the ObjectDataSource?
when i change page from page1 to page 2 I remember Dropdownlist in session
Session("Dropdownlist")=Dropdownlist
now when i go back to page1 I set the Dropdowlist the way what it was before i left page1
Dropdownlist=Session("Dropdownlist")
Everything its remember but when i load the page with my Dropdownlist again. The selectedindex shows default value in the control Dropdownlist.But it does remmeber old selectedindex.I got it wired with Gridwiew and gridwiew show Data by remmeber old selectedindex. Well generally I like to remember selectedindex when i go to a differente page and when i go back have it set in the control dropdownlist the way when i left the page
I have an SqlDataSource at the moment, which I want to be able to be filtered using 3 DropDownList's. Basically, each DropDownList contains values for a certain column on the table, so when they choose one of the values, the SqlDataSource only shows values with that value in the relevant column.
So my table is somewhat like this:
ID (primary key) ManufacturerID ItemTypeID UnitTypeID
My filter expression for the datasource is currently like this, but it doesn't seem to work unless all 3 boxes have a value selected, which is not ideal. Any ideas guys? My filterexpression is below:
ItemTypeID = {0} OR ManufacturerID = {1} OR UnitTypeID = {2} OR (ItemTypeID = {0} AND ManufacturerID = {1}) OR (ItemTypeID = {1} AND UnitTypeID = {2}) OR (ManufacturerID = {1} AND UnitTypeID = {2}) OR (ItemTypeID = {0} AND ManufacturerID = {1} AND UnitTypeID = {2})
I am trying to create a form in MVC C# that will allow a user to input a Last Name, First Name, Department, Year and click a Search button that will bring back a list of employees based off the inputted search criteria.My problem is allowing multiple search textbox criteria into one search button. I am able to hardcode values into an html actionlink like below and it works but unable to grab the values from the textboxes.
<%= Html.ActionLink("Results", "Results", new { lastName = "Smith", firstName = "", dept = "", year = "2008" } )%>
I would really just like to have four textboxes and a search button to bring the list back from the database.
I currently have a common file that's responsible for exporting the users GridView to a CSV file which works fine, mostly. The problem is that it only exports the current gridview display, and being that I have it paged, it can be cumbersome to get all the data to an excel sheet when there can be upwards of 20 pages of data. The GridView has a LINQ datasource as follows
[Code]....
How do I get the results of the preceeding datasource? Or is there a better way to get ahold of that data before it is paged?
I right click on a TableAdapter, select Add Query, select using QueryBuilder, then select a field to filter upon, and add Filter as =@BookStem. Automatically the QueryBuilder adds the WHERE clause to my new query:HERE (BookStem = '@BookStem')When I press OK, I get "BookStem in expression is not part of the query". And filtering doesn't work.
This is not straight forward to explain but basically i want to only get the current weeks data in a table, i.e. if its say thurs or fri and i run the report i just want to filter from the previous Monday every time.
I dont want to use a parameter because there is another table that i want to see ALL data from way back.
So, if i ran the report today (28th april), the table would show Monday (26th), Tuesday (27th) and today Wed (28th).
I have made site with datalist and I want to use SQL data filtering and paging, my only problem is that i want to put filtering into paging procedure paging 1) Alter Procedure dbo.GetProductsPaged
This seems like a stupid, basic question, but I can't find how to do it (plus I've been doing MVC and haven't done in webforms in ages now) - I've got a DataList object that hooks into an SQLDataSource object, and this works fine. However I need to create a second DataList object for a slightly different set of criteria. Rather than creating a second SQLDataSource object and thus calling the DB twice, I would like to make my SQLDataSource object return a broader set of results (this is easy as I am searching on a column, then each DataList is further filtering on another column) and then further filter these results on each respective DataList - how do I do this?
I'm working on an application that allows our Office Services people to schedule employee location moves. The page I'm currently working on allows for modification of scheduled moves. When the user attempts to save changes in this page, the app runs a stored proc to see if there are any conflicts, e.g., someone already sitting in the new location, someone scheduled to move into the employee's location before the employee is scheduled to move, etc. These conflicts, if any, are then displayed for the user and he/she has to make changes to one or more moves to resolve the conflict. This all works just fine. My problem comes when the user has resolved all the conflicts (or thinks he or she has). I need to check again to make sure that there are not still conflicts somewhere before allowing the data to be saved back to the database. So, I've got data for at least two scheduled moves, but this data does not necessarily match what's in the database.
I want to run the same stored procedure that I initially used on this dataset. The stored proc uses three database tables, plus the proposed move information to check for conflicts. What I'm trying to do (but please tell me if there's a totally different approach that would be better) is I've created 3 DataTables, using the 3 tables that my stored proc uses. The tables are Employee, Location and Moves. I've then put all these tables into a DataSet. I've updated my Moves DataTable with the proposed new move information. Now I want to run my stored proc on this dataset to see if I get any rows (i.e., if there are still any conflicts). But I can't just run the stored proc; it references the tables in the database. I want to run my stored proc on this DataSet. The stored proc is very long and takes 5 parameters which are referenced all through it, so I don't want to just create a DataViewManager using the SQL.
I have a GridView that's currently bound to an ObjectDataSource. I would like to see if it's possible to instead bind it to an EntityDataSource. However, I need to be able to apply custom filters to it.
One of the filters corresponds to a bit / boolean property in the database / EntityDataModel. It has 3 possible selections:
[Code]....
[code]....
How can I accomplish the same thing in an eSQL Where clause? There is no COALESCE function, is there an equivalent?
i am using gridview control and a linqdatasource and its all working fine and i have added the functionlity of searchingBySubject and i added WhereParameters and than binding my gridview (see the code below) but somehow its not returning any rows and i see i have number of rows based on what i am searching.
I've been filtering my gridviews with the FilterExpression of the underlying ObjectDataSource etc. I am wondering how I can implement filtering on my GridViews if I just directly databind it to a datatable etc?
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 want to use Drop Down List to Filter Members table by MemberType, this means having to Join the following three Tables..
Members (ID, Title, Forename, Surname, Memb_ProdID*) has Foreign Key for MemberProducts Table
MemberType (ID, MembType)
MemberProducts (ID, Duration, Price, Terms, memb_TypeID*) has Foreign Key for memberType table MembType is in Italic and underlined, how do I use this to filter members details in GridView.