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.
View 6 Replies
Similar Messages:
Mar 18, 2011
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
View 12 Replies
Feb 2, 2011
I have done listing by using html.grid in my mvc application, need to do sorting How can i do that
View 4 Replies
Jan 25, 2010
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();"
<table width="100%">
<tr>
<td colspan=3><asp:Label id="category_name" Runat="server"
ForeColor="#ff0000" Font-Bold=true /></td>
</tr>
<tr>
<td colspan="3" align="center" width="100%">
<asp:GridView ID="dg_drawings"
runat="server" AutoGenerateColumns="False" EnableViewState="False" CellPadding="5" CellSpacing="0" Width="90%"
>
<Columns>
<asp:BoundField DataField="Description"
SortExpression="Description" />
<asp:BoundField DataField="sub_description"
SortExpression="sub_description" />
<asp:BoundField DataField="drawing_id" InsertVisible="False"
ReadOnly="True"
SortExpression="drawing_id" />
<asp:BoundField DataField="DRAWING_DESCRIPTION"
SortExpression="DRAWING_DESCRIPTION" />
<asp:BoundField DataField="DWG_URL" SortExpression="DWG_URL" />
</Columns>
</asp:GridView>
</td>
</tr>
</table>
Here is my C# code
public partial class listDrawings : System.Web.UI.Page
{
admin _admin = new admin();
private GridViewHelper helper;
int categoryid = 0;
protected void Page_Load(object sender, EventArgs e)
{
if (Convert.ToString(Session["logged_in"]) == "1")
{
ph_header.Controls.Add(LoadControl("../controls/builder_header.ascx"));
}
else
{
ph_header.Controls.Add(LoadControl("../controls/header.ascx"));
}
/*if (Convert.ToString(Session["details_hit"]) != "1")
{
_admin.add_page_hit("Standard Details");
Session.Add("details_hit", "1");
}
*/
string categoryidStr = Request.QueryString["categoryid"];
string category = Request.QueryString["category"];
//int categoryid = 0;
if (categoryidStr != null)
{
categoryid = Convert.ToInt32(categoryidStr);
}
category_name.Visible = true;
category_name.Text = category + " Drawing Details";
get_category_drawings(categoryid);
}
protected void get_category_drawings(int categoryid)
{
OracleConnection myConn;
OracleCommand myCmd;
if (categoryid == 3)
{
myConn = new OracleConnection(ConfigurationManager.AppSettings.Get("oracle"));
myCmd = new OracleCommand("DRAWINGS.GET_STAR_SUB_DRAWINGS");
myCmd.CommandType = CommandType.StoredProcedure;
myCmd.Connection = myConn;
myCmd.Parameters.Add(new OracleParameter("iCATEGORY", OracleDbType.Int32, ParameterDirection.Input)).Value = categoryid;
myCmd.Parameters.Add(new OracleParameter("iSUB_CATEGORY", OracleDbType.Int32, ParameterDirection.Input)).Value = 0;
myCmd.Parameters.Add(new OracleParameter("oDRAWINGS", OracleDbType.RefCursor, ParameterDirection.Output));
}
else
{
myConn = new OracleConnection(ConfigurationManager.AppSettings.Get("oracle"));
myCmd = new OracleCommand("DRAWINGS.GET_STAR_DRAWINGS");
myCmd.CommandType = CommandType.StoredProcedure;
myCmd.Connection = myConn;
myCmd.Parameters.Add(new OracleParameter("iCATEGORY", OracleDbType.Int32, ParameterDirection.Input)).Value = categoryid;
myCmd.Parameters.Add(new OracleParameter("oDRAWINGS", OracleDbType.RefCursor, ParameterDirection.Output));
}
try
{
myConn.Open();
this.dg_drawings.DataSource = myCmd.ExecuteReader();
dg_drawings.DataBind();
helper = new GridViewHelper(this.dg_drawings);
string[] cols = new string[2];
cols[0] = "Description";
cols[1] = "sub_description";
helper.RegisterGroup(cols, true, true);
helper.ApplyGroupSort();
}
catch (OracleException ex)
{
if (categoryid == 3)
{
_admin.send_email("resources/listDrawings.aspx", "DRAWINGS.GET_STAR_SUB_DRAWINGS", ex.Message);
}
else
_admin.send_email("resources/listDrawings.aspx", "DRAWINGS.GET_STAR_DRAWINGS", ex.Message);
Response.Redirect("~/error.aspx");
}
finally
{
myCmd.Dispose();
myConn.Close();
myConn.Dispose();
}
}
}
View 5 Replies
Sep 20, 2010
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:
[Code]....
View 1 Replies
Apr 12, 2010
For the data obtained from data set, how to design Sorting headers for Data Columns in grid view in asp.net?
View 1 Replies
Mar 10, 2010
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.
View 2 Replies
May 7, 2015
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)
View 1 Replies
Mar 4, 2011
can i implement multiple column sorting in an ASP.NET DataGrid.Datagrid contains Template columns.
View 5 Replies
Jul 20, 2010
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.
<%= Html.RadioButton("Selected", item.Selected, new { onClick="setData('item.Associate','item.ReviewDate' )" } )%>
<%= Html.RadioButton("Selected", item.Selected, new { onClick="setData('item.Associate','item.ReviewDate' )" } )%>
<% String functionCall = String.Format("setData('{0}','{1}')", Html.Encode(item.Associate), Html.Encode(item.ReviewDate )) ; %>
<%= Html.RadioButton("Selected", item.Selected, new { onClick=functionCall } )%>
View 2 Replies
Aug 13, 2010
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.
View 2 Replies
Jun 21, 2010
When i try sorting in the database, it sorts the numbers:
1
102
2
304
305
4
4 Rev 01
etc....
but i want to have it sorted like:
1
2
4
4 Rev 01
102
304
305
What must i do to make it so? I just use a normal datagrid with sorting capabilities enabeld. Data type is varchar.
View 13 Replies
Feb 10, 2010
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.
View 4 Replies
Aug 30, 2010
<%= Html.RouteLink(">>>", new { page = (Model.PageIndex + 1) },null)%>
Is it possible to set image instead ">>>" and how?
View 2 Replies
Dec 13, 2010
i grid view contain the following coloum
id name DateofBirth DateofJoining
1 a 22-Aug-1980 10-jan-2000
1 a 22-may-1980 20-feb-2000
1 a 12-Feb-1980 15-mar-2000
1 a 3-Aug-1980 7-jan-2000
how to sort if we click DateofBirth or Dateofjoining and not sort any where if we click(Id,Name)
View 6 Replies
May 13, 2010
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..
View 3 Replies
Jan 3, 2011
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.
View 5 Replies
Mar 3, 2011
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.
View 2 Replies
Feb 3, 2010
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
View 2 Replies
Jul 20, 2010
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).
[Code]....
View 6 Replies
May 10, 2010
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
View 2 Replies
Jan 29, 2010
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.
Testing gets have been super simple
"~/account/foo/myusername".
Route().
ShouldMapTo<AccountController>(c => c.Foo("myusername"));
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?
For a POST, it looks something like:
"~/account/foo".
WithMethod(HttpVerbs.Post).
ShouldMapTo<AccountController>(a => something_something);
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.
View 2 Replies
May 14, 2010
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.
View 2 Replies
Jan 20, 2010
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?
View 2 Replies
Mar 15, 2010
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
View 13 Replies