C# - Sorting Gridview Bound To Linq SP
Oct 22, 2010
I have a grid bound to a linqed SP thus:
Session["results"] = db.spGetCaseByNumberOrSurname(txtCaseNum.Text.Trim(), null).ToList();
gvResults.DataSource = Session["results"];
on the sorting of it, i would like to be able to do this..
protected void gvResults_Sorting(object sender, GridViewSortEventArgs e)
{
string sortExpression = e.SortExpression;
List<spGetCaseByNumberOrSurnameResult> data = Session["results"] as List<spGetCaseByNumberOrSurnameResult>;
if (sd == SortDirection.Ascending)
{
sd = SortDirection.Descending;
gvResults.DataSource = data.OrderBy(d => d.GetType().GetProperty(sortExpression));
}
else
{
sd = SortDirection.Ascending;
gvResults.DataSource = data.OrderByDescending(d => d.GetType().GetProperty(sortExpression));
}
gvResults.DataBind();
}
sadly that doesnt do any sorting at all..it in fact errors with "The data source does not support server-side data paging."
View 1 Replies
Similar Messages:
Sep 28, 2010
I have a gridview which is bound to a DataTable. When I try to sort the gridview, it goes blank. How can I enable sorting this gridview? I know this question has been asked before, but what I'm looking for is an explanation of how to do it. Perhaps with a simple example.
I have read that I need to put some code in the on_sorting and/or on_sorted events, but I don't understand what needs to go there. Again, I want to understand the method of accomplishing this, I don't just want a giant block of code.
View 4 Replies
Aug 31, 2010
I have a gridview being data bound by an objectdatasource which points to a BLL/DAL. I have paging and sorting enabled within the gridview. I have the fields configured in the look/fell I want from a templatefield. This templatefield has the sort expression (date) I want things to be sorted by. All this works as it should and I have no issues with it.But, the issue is that when I click on the header to sort asc/desc by date, I have to click on it twice for it switch to descending order. E.g. I hit the webpage and it lists all the information in the gridview, sorted by date, ascending order. If I want to sort by descending order, I have to click the date header twice in order for the gridview to sort the information in descending order; the clicks cause a post-back and the whole screen is refreshed.
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 24, 2011
It has been more than 2 days since I had started searching for the answer and I still don't know how to do it.
I have empty gridview that is filled with data depending of the parameters given. The gridview is used to track changes user had made to the database.
In the first dropdown list the user selects from which table (or all tables) to display the data. From the second dropdown list the user selects from which column (or all columns) of the previously selected table to display data. In the first textbox the user enters the search term and in the third and fourth textboxes the user enters the date range in which the changes occurred.
After clicking button the data within the given parameters should be displayed. The problem is that data is displayed fine, but I can't manage to get sorting and paging to work so if possible, give concrete answer because I'm pretty sure I googled one half of the web during these 2 days. :)
Here is the code for the .aspx file:
[Code]....
Here is the codebehind:
[Code]....
To sum everything up... My question is: "How to enable sorting and paging for this code?"
View 3 Replies
Jun 8, 2010
I have Gridview control which bind data from LINQ datacontext object which use store procedure. sort the gridview using LINQ datacontext object which use store procedure.
View 3 Replies
Aug 30, 2010
I have added a partial class to one generated by the Entity Framework. I wanted to add a calculated field that I could bind to my GridView. However, when I try to access the new property, I get an error message that this is a limitation to Entity Framework.Are there any work arounds to accomplish this?
View 1 Replies
Sep 9, 2010
I have a GridView using LINQ and I need to do pagination and sorting.
View 2 Replies
Mar 20, 2010
on my WebApplication I have GridViews filled with a LinQ-Query. Like this
Dim teamA = (From t
In datacontext10.T_TEAM
Where t.group =
"A"
Order
By t.sort)
GridViewA.DataSource = teamA
GridViewA.DataBind()
Now I want do enable automated Sorting and Paging? How could that work? Could I use a ObjectDataSource? Which control could do that for me?
View 2 Replies
Jan 31, 2010
I started learning LINQ, So i thought of just creating gridview with sorting and paging using objectdatasource using LINQ. So i got this link
[URL] which Brian Orrel tell us how to do using IQueryable Interface. but i have nearly 300 lines of stored procedure which joins nearly 20 tables. so i thought of creating a stored procedure and using that instead of IQuerytable.
[code]...
View 7 Replies
Jul 22, 2010
This was a pretty disappointing moment - when databinding, using Eval("Contact.LastName") would work. It nicely evaluates the related Linq object's member LastName. If the "Contact" object is null, no error is thrown... instead the field is simply null.
However, the same does not hold for sorting - if there exists a null entry (this object does not have a Contact) then the LinqDataSource throws a NullReferenceException. This means that, if you ever have nulls on your foreign-key objects, you can't use sorting headers in the ListView.
This makes the feature moderately useless - I have to roll my own properties for every single field I'd ever want to sort on. That's insane.
View 1 Replies
Jul 18, 2010
Moderators Note: THIS ISSUE IS BIG FOR ME AND EVEN IF POSSIBLE, GET THE REPLY FROM THE DESIGNER OF GRIDVIEW. I have been looking for him for long. I am really fed up with reviewing a good lot of web pages on how we can possibly customize the gridview to enable sorting and paging. So many sites have listed out a lot of information and so many guidances. But the problem is that one works out fine and the other is a burden. I really feel bad about being given the job of customizing this kind of a gridview which has no user friendly approach to it. Also, this control is rendered without the pager links inside the <tfoot> tag. I have tried the Pear Pager in php. It is that good and easy to use and compared to that, the gridview in asp.net is the worst ever control i have ever tried so far.
1. i can use the images to indicate the sorting direction
2. I can have the custom pager like
[code]
<<Previous 1 2 3 .. 7 Next >>.
[/code]
When i click the next when i am viewing the page at 3 , the pager links should change as
[code]
<<Previous 2 3 4 .. 7 Next >>
[/code]
Kindly look into this type of requirement and firstly tell me whether this is possible with the gridview control. I would like this request even to be escalated to the designers of the gridview control also, so that Microsoft comes out with a reply THAT WORKS and not the kind of stuff like surfing through a lot of links and pages and finally wasting a lot of days precious time and still breaking the head with this useless control. I have spent a lot of time in searching for a perfect way. Not writing a code that is non-standard. I am really serious b'cos I have spent weeks in customizing this control. If I dont get a solid reply atleast now, I am going to generate all the output by HTML content by custom coding.
View 7 Replies
Jul 19, 2010
i want to validate dropdownlist which is bound to objectdatasource. i am using following code but the listitem <asp:ListItem Value="-1">Select</asp:ListItem> doesnot appear. it shows only items that are stored in database. please help me how can i validate this dropdownlist.
<asp:DropDownList id="drpdwnFID" CausesValidation="true" runat="server" DataSourceID="objDtsrcForums" DataTextField="Title" DataValueField="ForumID" >
<asp:ListItem Value="-1">Select</asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="rqrValidDropDwn" InitialValue="-1" ErrorMessage="Select Forum" runat="server" ValidationGroup="submit" ControlToValidate="drpdwnFID" Display="None"></asp:RequiredFieldValidator>
View 2 Replies
Aug 24, 2010
I am taking a table (Articles) and grouping all the results by the key that references another table (ArticleSectionCategories). I then want to sort these results by the OrderBy field of the referenced table (ArticleSectionCategory.OrderBy). This is what I am using right now but it is not working.
[Code]....
View 2 Replies
Jan 13, 2010
If the gridview binds to empty dataset, I need to still show a gridview so that users can ADD more using the textfields in the bottom of the footer template. Since the gridview is empty it won't bind not allowing rendering of the <footer template> I guess I should create a empty dataset if the gridview is empty. How do I check for this and can this be done in GridviewRowEventArgs
View 5 Replies
Oct 23, 2010
I've been working on a webform to pull data from an oracle database v10. I can create a gridview1 with Selection enabled and it will populate with data without a problem. However when I create a second gridview and bind with a control to the first gridview, I get the following error at runtime when I click on one of the Selects.
Exception Details:
Oracle.DataAccess.Client.OracleException: ORA-00936: missing expressionVS 2010.
[code]...
View 4 Replies
Mar 10, 2011
I got a web page, it has a tabcontainer, within each tab, there will be a gridview, all the tabs and gridview are created at run-time, i have only one code, that I will loop through to create all those tabs and gridview. When I apply the sorting, and I click on the column name on any grid, it returned an error saying index was out of bound. BUT, when there is only ONE grid view created, it is working fine, I suspect it mixed up all the grid view's id and so on. But I have assigned different ID to gridview
View 8 Replies
Jan 14, 2010
I'd like to sort a gridview using linkbuttons situated outside the gridview. For instance :
[code]....
View 3 Replies
Apr 16, 2010
I have the gridview inside another gridview, i want to sort that both gridviews, I don't know how to achieve using asp.net 3.5 visual studio 2008 c# code behind. Following are my aspx page,
<div
id="divclm"
runat="server">
<asp:GridView
ID="claimgrid"
runat="server"
AutoGenerateColumns="False" AllowSorting="True"
Width="100%"
AllowPaging="True"
CssClass="gareahead"
EmptyDataText="No Records To Display"
OnRowDataBound="claimgrid_RowDataBound"
OnRowCreated="claimgrid_RowCreated"
GridLines="Both"
OnPageIndexChanging="claimgrid_PageIndexChanging"
OnSorting="claimgrid_Sorting"
CaptionAlign="Right">
<Columns>
<asp:HyperLinkField
Text="<img id='upimg' src='Styles/Images/appschg.gif'/>"
ItemStyle-Width="10px">
<ItemStyle
Width="10px"
/>
</asp:HyperLinkField>
<asp:BoundField
DataField="name"
HeaderText="Name"
SortExpression="name">
<HeaderStyle
HorizontalAlign="Center"
/>
<ItemStyle
HorizontalAlign="Left"
/>
</asp:BoundField>
<asp:BoundField
DataField="code"
HeaderText="Code"
SortExpression="code">
<HeaderStyle
HorizontalAlign="Center"
/>
<ItemStyle
HorizontalAlign="Left"
/>
</asp:BoundField>
<asp:TemplateField>
<ItemTemplate>
</td></tr>
<tr>
<td
colspan="6"><div
id="<%#Eval("code") %>"
style="display:none;position:relative">
<asp:GridView
ID="Gdclmline1"
runat="server"
AllowPaging="True"
AllowSorting="True"
AutoGenerateColumns="False"
OnSorting="Gdclmline1_Sorting" BorderColor="Green"
BorderStyle="Solid"
BorderWidth="1px"
OnRowDataBound="Gdclmline1_RowDataBound"
OnRowEditing="Gdclmline1_RowEditing" Font-Names="Verdana"
Font-Size="8pt"
Font-Strikeout="False"
OnSelectedIndexChanging="Gdclmline1_SelectedIndexChanging"
OnRowUpdating="Gdclmline1_RowUpdating" PageSize="1000"
RowStyle-Wrap="false"
Width="100%"
CssClass="gareahead"
EmptyDataText="No Records To Display"
GridLines="Both">
<PagerSettings
Mode="NextPreviousFirstLast"
NextPageText="Next"
Position="Top"
PreviousPageText="Prev"
/>
<Columns>
<asp:TemplateField
HeaderText="phone"
SortExpression="phone">
<HeaderStyle
HorizontalAlign="Center"
/>
<ItemStyle
HorizontalAlign="Left"
/>
<ItemTemplate>
<asp:Label
ID="lblphone"
runat="server"
Text='<%#Bind("phone") %>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField
HeaderText="address1"
SortExpression="address2">
<HeaderStyle
HorizontalAlign="Center"
/>
<ItemStyle
HorizontalAlign="Left"
/>
<ItemTemplate>
<asp:Label
ID="lbladdress1
runat="server"
Text='<%#Bind("address1") %>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle
CssClass="gr"
Height="100px"
HorizontalAlign="Left"
Wrap="true"/>
<SelectedRowStyle
CssClass="gr"
/> <PagerStyle
CssClass="gareahead"
HorizontalAlign="Left"
Wrap="False"
/> <HeaderStyle
CssClass="ghead"
ForeColor="White"
Wrap="true"
/> </asp:GridView>
</div>
</td>
</tr>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerSettings
Mode="NextPreviousFirstLast"
NextPageText="Next"
Position="Top"
PreviousPageText="Prev"
/>
<HeaderStyle
HorizontalAlign="Center"
VerticalAlign="Middle"
CssClass="ghead"
ForeColor="White"
/>
<RowStyle
CssClass="gr"
/>
<SelectedRowStyle
CssClass="gs"
/>
</asp:GridView>
</div>
that aspx page contains gridview that contain one more gridview inside in it.Now i want to sort out both the grid i.e)claimgrid and Gdclmline1 i want code in c#.
View 3 Replies
Jan 10, 2011
I'm trying to extend the GridView control to enable sorting and paging for any situation.
When using my control I am fetching data from a database and filling a DataSet with it, then binding the GridView upon every page load. My first question would be, is this the correct approach?
To sort the GridView I am overriding the OnSorting method which stores the sort expression and direction in the ViewState, then creates a DataView and utalises the Sort method to sort the underlying data. It then sets the Data Source to this DataView and rebinds the GridView.
Paging is handled by OnPageIndexChanging which simply sets the PageIndex property and again rebinds the GridView.
My problem is; when any control causes a postback my GridView is no longer sorted, presumably because it is persistently rebound. If I don't rebind it then the GridView is empty on postback since the data isn't automatically stored in the ViewState. I have considered saving the data source in the ViewState but I would assume that this is bad practice for large amounts of data? - also DataViews are not seralisable.
The only solution I can think of currently is to override OnDataBound and sort the data every time. This results in a double sort when paging triggers a postback which seems inefficient. Code illustration of this below,
[Code]....
I'm looking for the cleanest 'best practice' solution as this is a learning exercise more than anything else.
View 12 Replies
Apr 19, 2010
this is my my code snip
[code]....
I put a textbox and a button to page when user click Button , I want to insert a new row to datagrid assume
TextBox.Text = Vivi
when user click Button
first : I use TextBox.Text to DataBase retrieve data for this No (ex: select Name, Tel from student where No = '" TextBox.Text + "'")
and then I want to add this datarow to my DataGrid
I hope I can get result like this
[code]....
How to open a new row to existing GridView? and still keep original data?
View 2 Replies
Feb 9, 2010
I'm having some evils trying to get my GridView control to behave. I have the below code, which successfully displays all the files in the directory. However I require two changes, both of which I am struggling with:
a) Currently the URL you get when clicking on the URL field is [URL] (ie my home directory with the filename). What I require is that the 'Display Text' be the filename only, and the URL be my desired text followed by the filename eg: [URL]
b) I want only to see the files that start with a certain prefix eg "Pay". I can do that with something like: string[] filelist = Directory.GetFiles((@"C:MFData","Pay*.*"); but this doesn't like to bind to my Gridview!
const string DocumentFolderPhysicalPath = (@"C:MFData");
const string DocumentFolderUrl = (@"C:MFData"); [URL]; ; // now it is hardcoded but you could retreive it automatically
HyperLinkField hyperLinkField = new HyperLinkField();
hyperLinkField.DataTextField = "Name";
hyperLinkField.DataNavigateUrlFields = new string[] { "Name" };
//Would like this to work!
//HyperLinkField hyperLinkField2 = new HyperLinkField();
//hyperLinkField2.DataTextField = "Destination";
//hyperLinkField2.DataNavigateUrlFields = new string[] { (@"C:MFData") + "Name" };
GridView1.DataSource = GetDocuments(DocumentFolderPhysicalPath);
GridView1.Columns.Add(hyperLinkField);
GridView1.DataBind();
private System.IO.FileInfo[] GetDocuments(string physicalPath)
{
System.IO.DirectoryInfo directory =
new System.IO.DirectoryInfo(physicalPath);
if (directory.Exists)
{
return directory.GetFiles();
}
else
{
throw new System.IO.DirectoryNotFoundException(physicalPath);
}
}
View 1 Replies
Jul 13, 2010
I have a repository that contains all of my LINQ queries for this project that I am working on. I am able to get the LINQ results to a DataTable and bind that to a gridview for displaying the data. Now I need to make the gridview sortable. I have set AllowSorting="true" and I have the OnSort event handled in a routine in the codebehind.
View 2 Replies
Nov 23, 2010
here my code-
<asp:BoundField DataField="DayOfTheWeek" HeaderText="Day" ItemStyle-CssClass="Itemstyle"/>
from my collection entity I am getting DayOfTheWeek like 1,2...7. 1 for monday , 2 for tuesday like that. Where should I place condition so that in grid view it would display day name rather than corresponding code.
View 1 Replies
Jan 5, 2011
My GridView is bound to a certain DataSource. Each row only shows 4 of the 8 possible items. Lets say we have name, adress, phone, fax, email, country, province and age. The GridView would only show name, email, country and age, but I want to access the province and adress bound to a row.
I got a custom GridView, with an onclick event which updates an panel (through AJAX) which shows additional information about the selected row.
View 1 Replies