|
Explain ur doubt in detail
i did't get ur doubt please provide more information
|
|
|
|
|
|
Hi, I have a crazy problem where when I select any row(call it rowA) in a gridview, and then when I select any different row (call it rowB), rowA dissappears. If I then select another row (rowC), rowB dissappears, and so on. These rows are not in any specific order and it happens with any case. I really want all the rows to stay there! As a temporary hack I am re-binding on every select, and I am pretty sure this causes a performance issue so I really don't want to keep it this way. Is there any way for me to select different rows while by default keeping them all visible?
Many thanks in advance!
Max.
|
|
|
|
|
What do you mean by 'select' ? What is your code that runs when you 'select' a row ?
Christian Graus
Driven to the arms of OSX by Vista.
"I am new to programming world. I have been learning c# for about past four weeks. I am quite acquainted with the fundamentals of c#. Now I have to work on a project which converts given flat files to XML using the XML serialization method" - SK64 ( but the forums have stuff like this posted every day )
|
|
|
|
|
Right, it might help if I show the code!
<asp:GridView ID="gvIncidents" runat="server" AllowSorting="true" AutoGenerateColumns="false" onrowcommand="gvIncidents_RowCommand">
<HeaderStyle ForeColor="#606060"></HeaderStyle>
<Columns>
<asp:BoundField DataField="FormID" HeaderText="" />
<asp:BoundField DataField="FormType" HeaderText="Type" />
<asp:BoundField DataField="FormDateTime" HeaderText="Date/Time" />
<asp:BoundField DataField="Description" HeaderText="Description" />
<asp:BoundField DataField="DateCreated" HeaderText="Date Created" />
<asp:ButtonField CommandName="Import" Text="Import" ButtonType="Button" />
<asp:ButtonField CommandName="Deny" Text="Delete" ButtonType="Button" />
</Columns>
</asp:GridView>
In my page load:
...
Me.gvIncidents.DataSource = dtIncidents
Me.gvIncidents.DataBind()
Me.gvIncidents.Visible = True
Me.gvIncidents.Columns(0).Visible = False
...
Handlers:
Protected Sub gvIncidents_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvIncidents.RowDataBound
Try
With e.Row
If .RowType = DataControlRowType.DataRow Then
.CssClass = "gridrow"
'Change the cursor on mouseover
.Cells(2).Attributes.Add("onMouseOver", "this.style.cursor='hand';")
.Cells(2).Attributes.Add("onclick", ClientScript.GetPostBackEventReference(gvIncidents, "Select$" + .RowIndex.ToString()))
Else 'Header
.CssClass = "gridtitle"
End If
End With
Catch ex As Exception
Throw ex
End Try
End Sub
Protected Sub gvIncidents_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles gvIncidents.SelectedIndexChanged
Dim oGrid As GridView
Dim oRow As GridViewRow
Try
oGrid = CType(sender, GridView)
oRow = oGrid.SelectedRow
PopulateIncidents() 'temporary hack to stop the rows from dissappearing
ShowIncidentDetails(CType(oRow.Cells(0).Text, Integer))
Catch ex As Exception
End Try
End Sub
|
|
|
|
|
binarymax wrote: Me.gvIncidents.Columns(0).Visible = False
And is it always the top line that disappears ? What if you remove this line ? Do you databind on every postback ? I remember you saying you did, you're saying this solves the issue, but when you have the issue, this code is entirely in an !IsPostback block ?
PopulateIncidents reloads the data ? What does ShowIncidentDetails do ? Have you tried commenting out sections of this code to work out which part is causing the issue ?
Christian Graus
Driven to the arms of OSX by Vista.
"I am new to programming world. I have been learning c# for about past four weeks. I am quite acquainted with the fundamentals of c#. Now I have to work on a project which converts given flat files to XML using the XML serialization method" - SK64 ( but the forums have stuff like this posted every day )
|
|
|
|
|
Good questions, the row that is dissappearing is the last row you selected. So if I select the 5th row, and then the 7th row, row 5 dissappears.
Right that page load is entirely in an !IsPostback block and it initially binds the data. PopulateIncidents is a function that re-binds the data. ShowIncidentDetails shows a panel with details about the row you selected, if I remove that the problem persists. Also I removed Me.gvIncidents.Columns(0).Visible = False from page load and still the same problem.
The part that is causing the problem is having the SelectedIndexChanged event. I can strip out all the code from
SelectedIndexChanged and the problem stays the same. If I remove the event entirely then the problem goes away, but I need the event in order to select the row, so I really can't remove it.
Thanks.
modified on Tuesday, May 5, 2009 5:57 AM
|
|
|
|
|
Why you have the line
<asp:BoundField DataField="FormID" HeaderText="" />
in your ASP if your code behind removes the column.
Or skip it
Or you might want to add DataKeyNames
to this line:
<asp:GridView ID="gvIncidents" runat="server" AllowSorting="true" AutoGenerateColumns="false" onrowcommand="gvIncidents_RowCommand">
If you debug the SelectedIndexChanged event what is the value for oGrid.SelectedIndex? And is the oGrid.SelectedRow the row you selected?
In Word you can only store 2 bytes. That is why I use Writer.
|
|
|
|
|
Thanks for the reply, The FormID is bound because that is the PK that I don't want the user to see, but when the row is selected then I use FormID to lookup data so I can populate a panel with record details. Even when it is visible I still have the same problems. oGrid.SelectedIndex and SelectedRow are behaving as expected.
|
|
|
|
|
that is why you can use the DataKeyNames to store your PK in. So not visiblle but accessible and no columns to hide. If you set the selectedIndex value, the property SelectedValue will contain the PK value.
ShowIncidentDetails(CType(oRow.Cells(0).Text, Integer))
isn't cells[0] now formtype in stead of formID?
In Word you can only store 2 bytes. That is why I use Writer.
|
|
|
|
|
I can use DataKeyNames which is nice to know but unfortunately it doesnt solve the problem
Also, even if I set visible=false on the first column the data is still bound as index 0 so cells[0] returns the formid as expected.
|
|
|
|
|
Hi,
I've realized an APS.NEt application that used a SQLServer DB. It is just installed and it works fine.
The same application is installed on a Virtual Machine ( S.O. Windows Server 2003 + IIS 6.0 . Here, for each postback tha application crashes and says that it has failed to load view state.
I've tryed also to built the application on the VM with visual studio and then reinstalled the application but the problem persists.
The View State problem exists also in DebugMode on VisualStudio. All these problems only on Virtual machine. What could be the mistake?
Thanks in advance for eachone who will help me.
|
|
|
|
|
What is the precise error message ? Is it a security related message ? If the framework thinks that viewstate has been changed, a crash is the default behaviour, but this can be fixed by changing the web.config.
Christian Graus
Driven to the arms of OSX by Vista.
"I am new to programming world. I have been learning c# for about past four weeks. I am quite acquainted with the fundamentals of c#. Now I have to work on a project which converts given flat files to XML using the XML serialization method" - SK64 ( but the forums have stuff like this posted every day )
|
|
|
|
|
The error is the class View State error:
"Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request. For example, when adding controls dynamically, the controls added during a post-back must match the type and position of the controls added during the initial request."
You say that a possible solution is to change the web.config...how would you change it?
|
|
|
|
|
No, that's a different error to the one I was thinking of. Have you googled the exact error text ? That's the best way to find solutions to issues like this.
Are you adding controls dynamically ?
Christian Graus
Driven to the arms of OSX by Vista.
"I am new to programming world. I have been learning c# for about past four weeks. I am quite acquainted with the fundamentals of c#. Now I have to work on a project which converts given flat files to XML using the XML serialization method" - SK64 ( but the forums have stuff like this posted every day )
|
|
|
|
|
Yeah, I've googled for two days.
In the application I add controls dynamically, but how I've wrote, the problem is only on the Virtual machine.
Instead, whene the application works in the intranet, there is not any problem.
So I don't think that the error is in the code, but rather in the system configuration (IIS, web.Config or other )
|
|
|
|
|
So you're using IIS on the intranet and it works ?
Christian Graus
Driven to the arms of OSX by Vista.
"I am new to programming world. I have been learning c# for about past four weeks. I am quite acquainted with the fundamentals of c#. Now I have to work on a project which converts given flat files to XML using the XML serialization method" - SK64 ( but the forums have stuff like this posted every day )
|
|
|
|
|
|
Hi,
when i am in first tab, i click edit button in first tab then i go to second tab then i return back to the first tab means it should be in view mode. But instead of this it is in edit mode itself. how can i change from edit mode to view mode while tab click event.
|
|
|
|
|
Don't ask the same thing over and over. Answer is unchanged. When the tab change event occurs, you need to write code to leave edit mode.
Christian Graus
Driven to the arms of OSX by Vista.
"I am new to programming world. I have been learning c# for about past four weeks. I am quite acquainted with the fundamentals of c#. Now I have to work on a project which converts given flat files to XML using the XML serialization method" - SK64 ( but the forums have stuff like this posted every day )
|
|
|
|
|
hi
i m using asp.net c# and in backend sql server 2000
i have a web form i m able to save single row in table using asp web page,i want to save multiple row on single click in a single table,i m new in asp.net
pls help me
thanks in advance
|
|
|
|
|
prateekfgiet wrote: ,i m new in asp.net
Then your task is kind of insane. Start slower. Learn how to lay out an ASP.NET project before worrying about databases. If you're new, I assume you're not doing paid work, or school work. If you were being paid, that would be immoral, basically theft. If it was for school, your tasks would be laid out more logically and you'd have spoken to your teacher. So, if you're teaching yourself, start simpler and build up to this task.
Christian Graus
Driven to the arms of OSX by Vista.
"I am new to programming world. I have been learning c# for about past four weeks. I am quite acquainted with the fundamentals of c#. Now I have to work on a project which converts given flat files to XML using the XML serialization method" - SK64 ( but the forums have stuff like this posted every day )
|
|
|
|
|
i am in job as a fresher and i have to complete this in any condition so pls help
|
|
|
|
|
OK, so you ARE being asked to steal from a client ? Shame on you, and the people who hired you.
However, people like you are the reason that outsourcing will die over time, and in the meantime, why the only clients it attracts, are idiots.
Christian Graus
Driven to the arms of OSX by Vista.
"I am new to programming world. I have been learning c# for about past four weeks. I am quite acquainted with the fundamentals of c#. Now I have to work on a project which converts given flat files to XML using the XML serialization method" - SK64 ( but the forums have stuff like this posted every day )
|
|
|
|
|
Hi Prateek,
Create a XML string and use that XML string to insert values into table ,
(U have to do some googling to check building XML string and insert into DataBase table)
|
|
|
|