Forms Data Controls :: Keeping Custom Properties In GridView Added On OnRowDataBound Event While Sorting
Sep 14, 2010
All of my columns are bound in the Gridview. On OnRowDataBound event, I am adding some custom styles like underlines and colors to the text of the columns. Sorting of data is working fine but I am losing my custom styles when I sort. I am using the generic sorting code for the GridView.
How I can keep my custom styles on sorting that I added during OnRowDataBound event.
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.
What is happening here: there is already exist one TextBox in TableCell by default and I want to add another one TextBox and Label. After the bounding I can see 2 textboxes, I can input data into the both, but when I click Update button, then raises OnRowUpdating event where I can't get my TextBox!
protected void RowUpdating(object sender, GridViewUpdateEventArgs e) { grdView.EditIndex = -1; int counter = 0; for (counter = 0; counter < grdView.Rows[e.RowIndex].Cells.Count; counter++) { foreach (Control ctl in grdView.Rows[e.RowIndex].Cells[counter].Controls) {
And here I will be getting only default one TextBox (with its value). But my TextBox is disappeared! :(
P.S. I can't use predifined columns, like asp:TemplateField in aspx file, because my table has different amount of rows every time. It is dynamic
I'm face of a little problem when using GridView, an EntityDatasource and entity custom properties using a partial class. I'll describe it and I hope that someone has already find the solution because I try to figured out since two days.
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 have a gridview in an update panel which is declared in an ASPX page, and bound to a SQLDataSource in code. The gridview's 'allowsorting' attribute is set to true, and because it is bound to a SQLDataSource, I expect the sorting to be automatically handled.
Yet I am getting the "Message: Sys.WebForms.PageRequestManagerServerErrorException: The GridView 'grdStatusItems' fired event Sorting which wasn't handled" error. I am using Visual Studio 2008, IE8, IIS7. What am I doing wrong? I have done anextensive search for this error, but it seems in most cases where this error occurs, the people are not using a SQLDatasource, so have to handle the sorting event themselves. Is this the case here? Here is the updatepanel and gridview declaration in the aspx file:
I'm using a standard GridView control inside of a web form. The web form uses a master page. The application is running within sharepoint (wss 3.0) environment. When i attach both the OnRowCommand and OnRowDatabound events to the gridview as shown in the markup below, only the OnRowDataBound event fires. The OnRowCommand never gets hit. When i press a button on a row, it posts back but never hits the onRowCommand event and simply falls through and repaints the page . However if i remove the OnRowDataBound event, the OnRowCommand event starts to fires correctly. I've tried a number of things...1. Hooking up the events in code instead of markup. (inside of PageLoad or PageInit)2. Changing the order in which the events are attached.
here's a situation and I would appreciate your response.
I have programmatically created the Wizard control:
Page_Load(obj s, evargs e) { Wizard ClaimDetailWizard = new Wizard(); foreach(int item in selectedItems) { //create new step //added custom control to new step //add step to wizard } //added wizard to a placeholder on a page }
Based on List I get from Session i added new steps to my wizard To each step I had added a custom control
Each custom control in tern contains another custom Gridview Control in it.
So here's the problem when the page loads for example for two steps. All is good Wizard does what it's supposed to do.
But when I try to use sorting or paging in that custom Gridview. Somehow it displays the gridview I should see in the next step of the wizard.
Also what I'm noticing through debugging. Is that when I press next in the wizard I go back to the original page where I do all of the code specified above, and it recreates the wizzard. But it goes to the next step. Is this the way wizard supposed to work? Just doesn't seem very efficient.
I have a page displays CRM data (with CrmService) in GridView. Everything run ok until I tried to sort out one field by default and I received the following exception: The GridView 'GridView1' fired event Sorting which wasn't handled. The reason I am using GridView to do the sorting because:
1) Cannot do it with SQL "ORDER BY" since date retrieval from CRM Web Service
2) Cannot use OrderExpression for QueryExpression from CRM because the column I want to sort is generated by my algorithm
GridView1.Sort("ColumnName" SortDirection.Descending); in Page_Load, or Button1_Sort(object sender, GridViewSortEventArgs e), they all trigger the above execption!
I also added the method to the following method to handle exception, but didn't work:
I am trying to create a custom GridView with a header toolbar at the top that will contain icons to export the grid view to different formats like excel, word, etc.. The problem is, I cannot get the method to fire that is assigned to handle the click event for the corresponding Image Button. The page posts back, but the code I have in the method to handle the click event does not fire. I have followed examples in other posts and from what I can tell I have followed what others have done. Can somebody take a look at see if they can find something that I am doing wrong.
I have a bulk editable gridview. I want to find a way of keeping a running total up to 100 in each row when the user is entering values into the editable columns. I then want to save this data.
The running total column (Total) is a bound column and not editable by the user.
i have taken a data list.in that i have added a imagebutton field that is bind to a image field of database.i want that when the image is clicked from the datalist that should be shown to the other image field in web page
So I followed Scot Mitchell's tutorial from asp.net/learn on adding a checkbox column to be able to select multiple entries and delete them with the click of a button. When I make my selection and click the button it works on the database end, as the desired entries are deleted. However, the entries remain on the page after it reloads. if I refresh the page it's updated properly but I'd like it to automatically update after the button is clicked.
Also, I tried his method for adding check/uncheck all buttons to the top of the gridview and they don't seem to be working either.
I got a list of customers That I'm gone show in the gridview. I have added a checkbox infront of every customer so i can select what customers gone be used and passed to the next method. With a little bit of strugle I almost got everything working now except for this thing with keeping the values of checked customers when I page to the next page (2,3,4,5 ect).
I've got a gridview which contains a dropdownlist. I've got it binding to display the correct name, but when I go to update it (and it could be the dropdownlist field or any other the other fields), I get an error stating it can't update the row because addr_cnt doesn't allow null fields. I've tried just about everything I can find to get it to keep the addr_cnt value, but nothing seems to be working. My code is below:
I've got a problem with my onrowdatabound function. The situation is like this:
protected void gvSQL_RowDataBound(Object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { switch (Session["Filter"].ToString()) { case "NonZero": if (e.Row.Cells[9].Text == "0") { e.Row.Visible = false; } break; } } }
At the end I need to kill the Session, so my plan is to detect if it reaches the last row. Then I can kill it. Does anyone know how to do this? Or is there someone that knows a better to fix this?