Forms Data Controls :: Sort The Datagrid (gridview) Programmatically
Dec 7, 2010i want to sort the datagrid(gridview) programatically.
View 4 Repliesi want to sort the datagrid(gridview) programatically.
View 4 RepliesJust spent about 8 hours googling and looking through this forum for a solution on how to make sure that I can dynamically sort. Here is the situation.
I have 1 Gridview that displays 10 different scenarios based on what button is clicked.
I am also returning only top 10 records. I am doing all of the data binding pragmatically. So I have BoundFields, HyperLinkFields etc.
I also want to sort some records. When I change DataSource SQL statement the gridview somehow remembers what the last sort value was and it errors out saying that value "x" cannot be sorted because it does not exists.
I tried this:
Tried setting gridview1.sqldatasourceid = null; gridview1.allowsorting = false; gridview1.databind();
Here I get an error that says that the data source does not support sorting? Doesnt it say gridview1.allowsorting = false;
I also tried gridview1.sort("", SortDirection.Ascending); This does nothin... except query my database one more time because i have a onSorting event that looks like this:
[Code]....
Here is an example of just one of those SLQ statements inside GetSQLQuery:
[Code]....
how to sort DataGrid column. (Say like FirstName) I have done snippet like: (see Bold text) For HTML :
<asp:DataGrid ID="dtgCustomerSearch" runat="server" AllowSorting="true">
<Columns>
<asp:BoundColumn HeaderText="CustomerID" DataField="CustomerID" />
<asp:BoundColumn HeaderText="First Name" DataField="FirstName"
SortExpression="FirstName" />
<asp:BoundColumn HeaderText="Last Name" DataField="LastName"
SortExpression="LastName" />
<asp:BoundColumn HeaderText="Phone No." DataField="Phone" />
<asp:BoundColumn HeaderText="Email ID" DataField="EmailID" />
</Columns>
</asp:DataGrid>
On Page_load I have wrote: this.dtgCustomerSearch.SortCommand += new DataGridSortCommandEventHandler(dtgCustomerSearch_SortCommand);
private void dtgCustomerSearch_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
{
SortExpression = e.SortExpression;
BindTheGrid();
}
string SortExpression
{
set
{
if (ViewState["SortExp"] == null || value != ViewState["SortExp"].ToString())
{
ViewState["SortExp"] = value;
}
else
{
ViewState["SortExp"] = value + " DESC";
}
}
get
{
return ViewState["SortExp"] == null ? string.Empty : ViewState["SortExp"].ToString();
}
}
As I am new to listview i had a problem with it, I hav to sort the values in the list view, when we click on the header links, so i hav done it by
commandname="sort" and commandargument="My_table_column", and i hav suceeded doin it.
Now my problem is i hav to do some search by 6 conditons like
CustomerId,CustomerName,OrderNumber,OrderDate,OrderType
For this i am using row filter and filtering the values in the Dt and then i am binding the dt back to the ListView here i am getting the problem as "The data source does not support sorting". I am aware that i am changing the data source, but before binding the datasource manually to
dt,
i hav tried doing this to make the datasourceid null which i hav attached previously
lvSalesLayOut.DataSourceID = "";
But i am getting the error post me how to get this done programatically.
I have a datagrid that populates correctly and a drop down list.
I have a table with (below) and it popluates a drop down and works properly.
UploadFile -- UploadFileTypeID
-Select 0
Images 1
Spreadsheets 2
Documents 3
Inside the datagrid sort command I want an IF statement. But the IF statement I have now doesn't recoginze whats inside the SQL table ( == "Images").
I have this...
[Code]....
From my understanding this if (ddl_Upload.SelectedValue == .... Is only recognized if I would have listed -Select, Images etc as List Items for the drop down?
In Datagrid if we are using template column and we have hyperlink and this will have only view or edit whether we can sort it. If so how.
View 4 RepliesI have a simple dynamic gridview with following code -
GV = new GridView();
I have a gridview with data. I want a button which is not part of the gridview. Then if I press a button the gridview is sorted by two colums. i.e column1 ascending column2 descending.
I am not looking to work with a Sqldatasource as I use a data access layer. So the sort would have to be from a datatable and databind or directly with the gridview.
i read Matt Berseth article also i downloaded this source. But i can not do sorting event. Everything is ok but sorting is not working.
[Code]....
I want to create simple rating page where player's place,name and rating is displayed. I've created database with ID,Name and Rating Columns, binded Gridview to this database and created TemplateField "Place". With following code I've created numbered list for Place:
protected void Page_Load(object sender, EventArgs e){
for (int i = 0; i < GridView1.Rows.Count; i++)
I have 12 columns in a grid i want sort 3 of them when user clicks on Header, how can i do this.
U want these columns to be sort WOnumber,DD,PO.
I'm a newbie to .NET, so the solution might be really trivial. I have a database, I have an Entity Data Model, I add in my Index.aspx page an EntitryDataSource and a GridView. I connect them and everything works fine (the data is displayed as expected). The problem is that clicking on the coulmn name or on the pagination lists doesnt do a thing... Although I did set the properties AllowSorting="True" and AllowPaging="True". I also tried with another datasource type (SqlDataSource) and the same problem.
View 2 Replies[Code]....
Gridview does not sort on gvClaimDetails_Sorting
i am having a gridview in which all columns get dynamically added, i applied sorting in it, all column added as boundcolumn get sort properly but two column which are added as templated column do'nt get sort. Though my dataview have these column as it is.
View 2 Repliesi have the following code . .
[Code]....
i need to sort according to Due_By i mean most recent one shpuld come first . .
I am using gridview created by visual components. I have registered gridview_onsortclick event during the page initialisation, but when i try to click on the header of any column, this event does not get fired at that time. This event gets fired only after all the controls, sorting query is generated, filling the current dataset is done. But the same event is getting fired before query is generated and dataset is filled,for the other page. And one more thing to add with it, I want the sort function to be done on the whole dataset regardless of current page. Why is there such a difference in both the pages?
View 2 RepliesIs there a way to Sort a Gridview by a Calculated Column? I have a gridview with template fields using lablels and a linq datasource. Those columns sort just fine. I can not get the Calculated column to sort, because there is no sort expression to use...
View 4 RepliesI have the following sorting code that works find when clicking on a column header in a gridview.
Now, I'd like to fire this sorted table & fire it on load instead of having the user have to click a column heading.
how to do that?
Here's my code:
[Code]....
I have a gridview column named "Job Number" and the number is in this format: 01-04-11-3215, 01-04-11-3216 and so on...
Since the first few characters represent the date I need to sort on the last 4 digits.
I have a datatable as a datasource to a grid view, it has a column amtDue, i would like to be able to sort by this column,, while not displaying it.
View 4 RepliesI have a manually binded gridview, which I set AutoGenerateColumns=False. I then tried to set AllowSorting=true at runtime, but it wont work.
My gridview are created during runtime.
I'm using asp.net 2 and would like to add sort direction arrows to GridView column headers.Please could someone point me to a soluton, VB.Net if possible.
View 3 RepliesTried several different ways to do this but am just not seeing it. Proably a quick solution for someone more skilled than me.
I have a gridview generated from a datatable. One of the columns is "client name" whose data is generated from a class.
I added a link button for the column header that fires a sub that should sort the datagrid, but is not.
Here is the code I have so far that creates the gridview which works fine:
Private Sub PopulateCaseListGrid()
'Kill the existing DataSource, in case of a page reload
gvCaseList.DataSource = Nothing
'Create a datatable with whatever column you want to use
[Code]....
I have a GridView and Formview attached to the same ObjectDataSource.
Everything is working ok so far.
If I enter new search criteria and click "Search", both the GridView and FormView rebind properly to the ObjectDataSource results. And I am able to page through the FormView records and they match the GridView records above.
When I click a sort link in the GridView, the ObjectDataSource returns the correct results based on the header link's commandName of 'Sort' and the CommandArg of 'SortExpression'.
The only thing wrong now is on the sort, the formview records do not reflect the reversing of the sorted record order. If I page through the FormView the records remain in the same order.
Why does the FormView not recognize the ObjectDataSource's changed results on the sort post back (even if it is only the sortExpression parameter of my ODS select method).
How do I get the FormView to rebind to the new ODS result set? I have called formview.DataBind() from every event I can think of. That does not seem to work either.
I use Server.Transfer("pagename", True) to navigate from a page where two dates have been selected to a page with a gridview that uses the dates to query the database and display the results. The gridview initially displays correctly but when I operate the select or sort it disappears.
View 8 Replies