MVC :: Html Helper Data Grid - Sorting Columns Using Post?
Jul 22, 2010
I've been asked to take over a project that's filled with a bunch of bugs. It's currently using MVC 1.0 and there's a view with Html Helper Data Grid that uses a DataGridHelper class. I'm not that familiar with all of MVC yet, and I was wondering if it is possible to have the sorting of the columns be a POST event rather than a GET.
Currently when a user clicks a column to sort, the controller for the view calls the GET action method. This I guess is all fine and good, but the problem is that this view has a search form (which is a model in it's own right) with some text boxes and some drop down lists. When the GET action method is called, I lose all of the information in the search criteria. So when ever someone searches for something, but then wants to sort the results, it requries the db for all records (because all of the search criteria is cleared).
I guess there could be two solutions:
1) Is there a way to access the items in the search form / model in the GET portion of the action method? I've tried using ViewData or adding a parameter for the search form model, but (and maybe I'm doing it wrong) both return null.
2) Is there a way to make the sorting event of a column call the POST portion of the action method? That way I'll have the search form / model information and be able to sort the search result content instead of query for all records.
Also, there is a stored procedure that currently can handel all of possible search parameters. So, no matter what sort column is selected, or search parameters are entered, it can properly setup the sql query.
i am really confuse about the html dropdown helper. i cant reli find one info which describe clearly about every overload and how to use them.currently i gone through a problem which i spent one day and still cant resolve it, really hope can get the help here since i need to make tis work for my final year project..i have a food table, and a foodtype table. each food will have a type, so the FoodTypeID is the FK for Food table.i want to have a create and edit page for Food. on the page, i want to provide a dropdownlist for user to select the food typethe FoodTypeName column that store the food type description is at the FoodType table, so i need to get the value of FoodTypeID based on user selection on the dropdown.I had tried for hourssss to do this bt i either get a compilation or cant save the new foodType selected in db
[Code]....
in fact, i not reli understand wat should be put inside the model => xxx and the dropdown helper overload, i am writing this based on the mvc tutorial
I have problem with gridview sorting. I am using online example to sort a grid view. see the link [URL] but I always got an error "The gridview fired sorting event without handle" on this statement "helper.ApplyGroupSort();"
I created a gridview that is made up of 4 gridviews and using a stored procedure to populate it. I create columns at runtime because the number of columns changes all the time.To make the grids editable I am adding template fields at runtime as I create the columns, this is to ensure that a user is able to edit the cells and some foot values update. Reason why I have four grids is to freeze rows and columns like in excel using javascript. The problem is that performance is very bad especially in IE, the grids take a long time to load. I am not sure if this is caused by the data load or the creation of text boxes. see some of the code below for my _aspx page:
I'm new to MVC and am trying to create some more user friendly controls for use on the Create views. I'm able to render a control using a combination of extensions and partial views, however I am unable to bind to those controls as I am with the out of the box controls like html.textboxfor such as:
Html.TextBoxFor( model => model.Capability_Menu_Group_Id)
Although the controls renders on the create form, the value is not set on create. I would like to set up this same construct used with TextBoxFor for my custom controls.
How to implement sorting in gridview with datasource present as viewstate since paging is required,and with columns conatining alphanumeric characters( sorting as like of windows explorer)
I think I need to drop in some escape characters, but I'm not quite sure where. Here is the javascript function I'm attempting to call:
function setData(associateValue, reviewDateValue) { var associate = document.getElementById("Associate"); var reviewDate = document.getElementById("ReviewDate"); associate.value = associateValue; reviewDate.value = reviewDateValue; }
Here is the asp .net mvc line where I'm attempting to create a Radio button with a click event that calls the above function and passes data from the model as javascript parameter values.
<%= Html.RadioButton("Selected", item.Selected, new { onClick="setData('<%=item.Associate%>','<%=item.ReviewDate%>' )" } )%>
The above throws a bunch of compile issues and doesn't work. A call such as the following does call the javascript, but doesn't get the data from the model.
I have a gridview to which I am binding a database values. My requirement is to bind the values to the gridview by sorting 3 columns as a default sorting with ASC order in one column and descending order in other two.. Can I do it in my .Net code or should I do that in Stored Procedure? If it can be done in .net code Can you tel me how it can be done.
It's a little unclear for me on when to use a custom helper method and when to use RenderAction and also when to simply use ViewData instead. Some of their functions overlap slightly.
For example, if I were to create a Category navigation bar, would I create a new helper method and place that in some partial view? I had initially though of doing this, but I read on some blog to use RenderAction instead.
Assume the list of categories is coming from some data source.
how to implementing sorting in grid view..... iam using allowsorting=true property.... bt it sorting will not perform on boundedfileds..then i implement Onsortingevent.. bt what is the code for that.... and code for changing sort direction..
I have a datagrid with two columns ( File Name, and Date Created ). I want them to be sorted when clicked (ASC or DESC). I went into the design view and added the allow sorting feature and added the column names, so they are clickable in the header of the data grid. I also already added the onsortcommand as well.
My datagrid is named dgFileList and the onsortcommand method is named dgFileList_SortCommand.
The procedure that is already loading on page load is a DataSet. (where I think my problem is)I dont have anything in the back end beside the dgFileList_Sortcommand method. From what I have read, it seems like I can't use a DataSet to be sorted...I'm using visual studios 2005, C#, not VB.
I have a Gridview with a templated column which contains just a label.
I set the Label1.text during GridView1.RowDataBound based on doing a DataBinder.Eval(e.Row.DataItem,"myColumn") and a calculation off that.
When the user clicks the header I want it to sort based on what's in the Label but instead if seems to be sorting on the contents it was bound to, "myColumn", even though that's not what appears in the grid.
guide how I can sort grid data when header is not shown. Actually In my page I have set visibility of header to false and have placed headings in table above the grid (it was done because requirment was to fix header and make grid with scrollable).how I can give sorting functionality with headings in table above the grid
I go this code that can so a manual sorting on grid view. The code works fine for "ASC", when I wanted to sort the field to DESC, it never works. Second, it also failed when I switch to another page. Case 1: By default, the column is sorted DESC, then I switch to ASC, works fine, then I switch to DESC, it failed (remain at ASC).Case 2: By default, the column is sorted DESC, then I switch to ASC, works fine, then I switch to other page, it failed (remain at DESC on new page).
I have autogenerated columns some columns come from db and some are virtual columns what i am adding to a dataset that consist of columns from db.i want to disable sorting for the virtual columns which i add to dataset
In my Asp.net MVC app, I have two methods on a controller, one for when the user first arrives on the view and then one when they submit the form on said view.
public ActionResult Foo() {} [AcceptVerbs(HttpVerbs.Post)] public ActionResult Foo(string id, Account accountToFoo) {}
In the second action, there's a custom model binder that's assembling the account object that I'm acting on, though that's really not important. This all works fine in testing locally on a server.We try to be pretty good about writing unit tests to test all our different views are properly getting routed to, including those that are HTTP POST. To do so, we've been using mvccontrib's test helper.
My question is in testing POST routes, how do I write the lambda that I would use to verify the post is receiving accurate values, similar to the GET test above?
It's the something_something portion of my lambda that I'm having trouble with. Using arbitrary values doesn't work ("a => a.Foo(0, new Account()"). How would I specify the expected values as part of the test?EDIT I was hoping there was something akin to the way Moq has lambdas for statements such as foo.Setup(s => s.Foo(It.IsAny(), It.Is(i => i > 32)) and so on. Even I have to explicitly supply the values, that's workable--I just can't seem to grok the desired structure to pass those explicit values.
I have a gridview control bound to a sqldatasource in c#. In the rowdatabound event I look at a value in a cell and use a function to evaluate the value and depending on that value I populate an added unbound column in my bound datagrid to show an excalmation point. I now want to sort by the column with the excalmation point.
I was wondering if it's possible to render an Html Helper in a View inside a codeblock. So instead of:
[code]....
And have this render. Of course as it is, it wont render, so is there a way to programically decide if a textbox can be added without having to have a million delimiters in the page to accomplish this?
I am trying to create 2 Html helpers but that use the String Type as in MVC 2.
1. Html.FileFor Would render something like: <input type="file"
2. Html.Buttom and Html.Submit that would render <input type="button" or <input type="submit" In this case I suppose it makes no sense to have the For.
I know how to do (2) unless there would be something more than rendering the help and defining the Html attributes. However (1) I don't know how to do it