Get Old Gridview Row Values In The RowUpdating Event
Aug 25, 2010
How do I get the old values in a gridview row in the row_updating event? I'm using a sqldatasource control to populate the grid and want to write the update code in the RowUpdating event. There are 10 fields displayed in the grid. I can get the value of the first field using string old_Category = e.OldValues[0].ToString();.
But it doesn't work for index items greater than 0. This doesn't work string old_Category = e.OldValues[1].ToString(); it returns an error message Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index. even though there are 10 columns in the grid.
<asp:GridView
ID="GridView1"
runat="server"
AutoGenerateColumns="False"
DataSourceID="SqlDataSource1"
BorderWidth="0px"
BorderStyle="None"
Width="100%"
CellPadding="2"
PageSize="25"
OnRowDeleting="ProjectListGridView_RowDeleting"
onrowdatabound="GridView1_RowDataBound"
onrowupdating="GridView1_RowUpdating" onrowediting="GridView1_RowEditing" >
<Columns>
<asp:CommandField ShowEditButton="True" />
<asp:TemplateField HeaderText="WeekEnding" SortExpression="WeekEnding">
<ItemTemplate>
<asp:Label ID="lblWeekEnding" runat="server" Text='<%# Bind("WeekEnding") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Project" SortExpression="Project">
<EditItemTemplate>
<asp:DropDownList
ID="DropDownList1"
runat="server"
DataSourceID="sdsDdlProjectsEdit"
DataTextField="ProjectName"
DataValueField="ProjectID"
AutoPostBack="True" onselectedindexchanged="DropDownList1_SelectedIndexChanged"
>
</asp:DropDownList>
<asp:SqlDataSource
ID="sdsDdlProjectsEdit"
runat="server"
ConnectionString="<%$ ConnectionStrings:ttuser %>"
SelectCommand="SELECT ProjectID,ProjectName FROM dbo.aspnet_starterkits_Projects">
</asp:SqlDataSource>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Project") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Category" SortExpression="Category">
<EditItemTemplate>
<asp:DropDownList
ID="DropDownList2"
runat="server"
DataSourceID="sdsDDL2"
DataTextField="CategoryName"
DataValueField="CategoryID">
</asp:DropDownList>
<asp:SqlDataSource
runat="server"
ID="sdsDDL2"
ConnectionString="<%$ ConnectionStrings:ttuser %>"
SelectCommand="SELECT [CategoryID], [CategoryName],[ProjectID] FROM dbo.aspnet_starterkits_ProjectCategories WHERE ([ProjectID]=@ProjectID)">
<SelectParameters>
<asp:Parameter Name="ProjectID" />
</SelectParameters>
</asp:SqlDataSource>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("Category") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Sun" SortExpression="Sun">
<EditItemTemplate>
<asp:TextBox ID="txtSunEdit" runat="server" Text='<%# Eval("Sun") %>' Columns="2"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblSun" runat="server" Text='<%# Bind("Sun") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Mon" SortExpression="Mon">
<EditItemTemplate>
<asp:TextBox ID="txtMonEdit" runat="server" Text='<%# Eval("Mon") %>' Columns="2"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label4" runat="server" Text='<%# Bind("Mon") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Tue" SortExpression="Tue">
<EditItemTemplate>
<asp:TextBox ID="txtTueEdit" runat="server" Text='<%# Eval("Tue") %>' Columns="2"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label5" runat="server" Text='<%# Bind("Tue") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Wed" SortExpression="Wed">
<EditItemTemplate>
<asp:TextBox ID="txtWedEdit" runat="server" Text='<%# Eval("Wed") %>' Columns="2"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label6" runat="server" Text='<%# Bind("Wed") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Thu" SortExpression="Thu">
<EditItemTemplate>
<asp:TextBox ID="txtThuEdit" runat="server" Text='<%# Eval("Thu") %>' Columns="2"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label7" runat="server" Text='<%# Bind("Thu") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fri" SortExpression="Fri">
<EditItemTemplate>
<asp:TextBox ID="txtFriEdit" runat="server" Text='<%# Eval("Fri") %>' Columns="2"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label8" runat="server" Text='<%# Bind("Fri") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Sat" SortExpression="Sat">
<EditItemTemplate>
<asp:TextBox ID="txtSatEdit" runat="server" Text='<%# Eval("Sat") %>' Columns="2"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label9" runat="server" Text='<%# Bind("Sat") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
and here is the sqldatasource
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ttuser %>"
SelectCommand="SELECT
@WeekEnding WeekEnding
,Project
,ProjectID
,Category
,CategoryID
,isnull([1], 0) Sun
,isnull([2], 0) Mon
,isnull([3], 0) Tue
,isnull([4], 0) Wed
,isnull([5], 0) Thu
,isnull([6], 0) Fri
,isnull([7], 0) Sat
from
(select P.ProjectName Project,P.ProjectID, CAT.CategoryName Category,CAT.CategoryID, Datepart(dw, TE.TimeEntryDate) DOW, TE.TimeEntryDuration Hours
FROM
dbo.aspnet_starterkits_TimeEntry TE inner join
dbo.aspnet_starterkits_ProjectCategories CAT on
TE.CategoryID=CAT.CategoryID inner join
dbo.aspnet_starterkits_Projects P on
CAT.ProjectID=P.ProjectID
Where (TE.TimeEntryDate between dateadd(dd, -6, @WeekEnding) and @WeekEnding) AND
TE.TimeEntryUserID=(SELECT UserId FROM dbo.aspnet_Users WHERE UserName=@UserName)) Source
pivot (max(Hours)for DOW in ([1],[2],[3],[4],[5],[6],[7]) ) as pvt" OldValuesParameterFormatString="original_{0}"
<SelectParameters>
<asp:ControlParameter ControlID="WeekEnding2" Name="WeekEnding"
PropertyName="Text" />
<asp:ControlParameter ControlID="UserList" Name="UserName"
PropertyName="SelectedValue" />
</SelectParameters>
</asp:SqlDataSource>
View 1 Replies
Similar Messages:
Jul 13, 2010
Here is the code with the issue:
[Code]....
The value of txtName, for example, contains the value prior to editing and clicking update. Here is the grid code:
[Code]....
View 17 Replies
May 11, 2010
I have a gridview that I'm trying to update the Date something is corrected in the database. When I am putting a new value in, it is updating, but it isn't updating the new value, just the old one that is already there. I cannot figure out why this is happening.
[Code]....
View 8 Replies
Jan 6, 2010
I'm using a GridView to display some columns and rows that reside in a database. This works excellent. Because i wanted to add columns dynamically out of a List of names. Let's say we have a list with 5 names in it, then it dynamically creates a column for every name in the GridView.
Here's some code to display what i do:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//Create columns for each student
List<Student> allStudents = new Eetlijst.Business.Students().GetAll();
allStudents.Reverse();.......
How do i create the dynamic columns for each row? I create them with a DataBound event. So when the GridView databinds, the columns get filled with data. There is also a check inside to see if the row is in edit mode or not. So when i click on the edit button next to the row, the row goes perfectly in edit mode. The code i made adds a TextBox control to the cell.
When i fill in a value and press the Update button, it can't find any controls anymore and therefore i can't get the value i entered. The control is still there in the DataBound when i put a break point after it. But as soon as i click the Update button, all the controls of the cells are gone.
I searched on the internet and all i found is that it has something to do with the application firing a postback before it reaches the RowUpdating method.
So, how can i let the controls exist that i added to the cell when it is in edit mode?
View 2 Replies
Apr 23, 2010
I have a GridView on my page and I have bound a custom DataSource (DataTable populated from an SQL query) within an UpdatePanel. I have set the OnRowUpdating property and create the code behind stuff as well as setting AutoGenerateEditButton to true. The problem I have is that when I click on 'Edit', then change some values then click 'Update', I can only get the old values.
.ASPX
[Code]....
All of the other posts I have read have mentioned the GridView being bound on post back or within a RowDataBound event but I'm pretty sure that I am not doing that.The RowUpdating event does fire but the value of Jockey, for example, is still the original.
View 3 Replies
Sep 24, 2010
my gridview row updating events return old values.. edititem templatefield gets its old value on row updation.
My code is as follows :-
[Code]....
View 5 Replies
Aug 31, 2010
I have a GridView within a GridView. I want o access child gridview's rowupdating event. i want to update row.
this is my GridView's code as follows
[Code]....
View 6 Replies
Mar 26, 2010
[Code]....
View 2 Replies
Nov 27, 2013
I have a gridView that is populated with a dataset from an Oracle Database.
When I click on the EDIT button, it will redisplay my gridView with textboxes so I may make some changes.
Let's say one row is currently:
OPEN_TIME = 1 CLOSE_TIME = 2
When I click EDIT, 1 and 2 are in a textbox. If I change both values to 5 and click UPDATE, it will fire a RowUpdating..
Here is the code from my APP:
Private Sub gvBusinessHours_RowUpdating(sender As Object, e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles gvBusinessHours.RowUpdating
Dim strOpenTime As String = DirectCast(gvBusinessHours.Rows(e.RowIndex).FindControl("txtOpenTime"), TextBox).Text
Dim strCloseTime As String = DirectCast(gvBusinessHours.Rows(e.RowIndex).FindControl("txtCloseTime"), TextBox).Text
End Sub
The problem is the values I am getting are the OLD ones and not the new ones... I am getting 1 and 2 and not 5 AND 5...
what I am doing wrong ?
View 5 Replies
Jun 17, 2010
I am trying to update the row using gridview_rowupdating event but I am unable to update. I tried the code like this...
foreach (GridViewRow i in GridView1.Rows)
{
TextBox sname = i.FindControl("sname") as TextBox;
TextBox fname = i.FindControl("fname") as TextBox;
TextBox sex = i.FindControl("txtsex") as TextBox;
// Label lblpin1 = i.FindControl("lblpin") as Label;
TextBox tpin = i.FindControl("txtpin") as TextBox;
tpin.Enabled = true;
// lblpin1.Enabled = true;
string pinno;
pinno = Convert.ToString(tpin.Text.Trim());
conn2.Open();
SqlCommand cmd = new SqlCommand("update NRDetails2010 set SNAME='" + sname + "',FNAME='" + fname + "',SEX='" + sex + "' where pin='" + pinno.Trim() + "' and InstCode='" + Session["UId"] + "' and Sem='" + ddlsem.SelectedItem.Text + "' and scheme='"
+ ddlscheme.SelectedItem.Text.Trim() + "' ", conn2);
cmd.ExecuteNonQuery();
conn2.Close();
}
I am getting error at cmd.ExecuteNonQuery()
Here I am giving connection globally and opening in this event. In gridview, I am updating 3 fields depending on 4 conditions.
View 3 Replies
Mar 15, 2010
I have a Modified Date and Modified By column in my gridview and I want them to be updated with the current date and current user any time a user updates the row.
I converted my columns to template fields and the textboxes in the edititemtemplate are bound to my sql data columns "ModifiedDate" and "ModifiedBy"
Then I added the attached code in my RowUpdating event.
When I test the code and click the Update link on my gridview I don't get an error but the values don't update either. I put a breakpoint on the code and when I hover over "ModifiedDateLabel.Text" I see the old value of the field so I know I'm accessing the control correctly.
View 3 Replies
Feb 1, 2010
I'm creating a GridView in code. I can successfully attach handlers for Editing, and CancelEditing. RowUpdating never runs, however. Instead, if the GridView is in a Panel, the Edit handler is called when Update is clicked (and this is the command name I get back on the Update click, too). If the GridView is not in a panel, then the Cancel handler is called when Update is clicked (again, this is the command name I get back from clicking Update). I've searched high and low for a reason why the RowUpdating event is not getting called, and I can't find one. Does anyone out there haveHere is my code (My actual code is much more involved than this, but for testing purposes, I extracted the following code and stuck it in a new project to isolate my problem):
protected void Page_Init(object sender, EventArgs e)
{
if (!IsPostBack)
[code]...
View 1 Replies
Jun 12, 2012
Specified argument was out of the range of valid values.Parameter name: index
After adding a check box to gridview when i am updating teh gridview I get above error
cmd.Parameters.Add("@c_name", SqlDbType.VarChar).Value = ((TextBox)Gridview1Rows[0].Cells[1].Controls[0]).Text;
cmd.Parameters.Add("@c_amt", SqlDbType.VarChar).Value = ((TextBox)Gridview1Rows[0].Cells[2].Controls[0]).Text;
cmd.Parameters.Add("@c_type", SqlDbType.VarChar).Value = ((TextBox)Gridview1Rows[0].Cells[3].Controls[0]).Text;
cmd.Parameters.Add("@check", SqlDbType.Bit).Value = ((CheckBox)Gridview1Rows[0].Cells[4].Controls[0]).Checked;
Before to checkbox addition it was wroking fine
View 1 Replies
Jun 12, 2012
bool isChecked = ((CheckBox)Gridview1.Rows[e.RowIndex].Cells[e.RowIndex].Controls[0]).Checked;
if (isChecked)
{ chk = 1; }
else
{ chk = 0; }
cmd.Parameters.Add("@check", SqlDbType.Int).Value = chk;
in the above code if i unslect the check box i get ischecked value=false & chk value=0 but on updating in sql tbl the value does not chnage.
View 1 Replies
Jun 16, 2015
i ask what code can generate on how to Populate and save ASP.Net Dropdownlist with Selected Value in Gridview Rowupdating ?
View 1 Replies
Jul 10, 2013
I have a gridview that has 3 dropdowns. And when I am in edit mode, when updating via the RowUpdating event, I am not getting a value from my 2nd or 3rd drop downlists. Here's the code from RowUpdating:
Code:
Protected Sub gridOutdoor_RowUpdating(ByVal sender As Object, ByVal e As GridViewUpdateEventArgs)
'WHEN DEBBUGING, the text for ddBodyColor.Text is an empty string. I had selected a value prior to this event firing."
Dim ddBodyColor As DropDownList = DirectCast(gridOutdoor.Rows(e.RowIndex).FindControl("ddBodyColor"), DropDownList)
End Sub
Here's the source code for ddBodyColor:
Code:
<EditItemTemplate>
<asp:DropDownList ID="ddBodyColor" runat="server" TabIndex="2" AppendDataBoundItems="true" Enabled="true" DataTextField="bodyColor" DataValueField="bodyColor"><asp:ListItem Text="Select" Value="" /></asp:DropDownList>
</EditItemTemplate>
View 9 Replies
Dec 13, 2010
I am using a gridview and want to update the row.. but i am unable to do it.... pls help me out where i am going wrong.... here is the code for the gridview nd rowupdating event.
<asp:GridView ID="GridView1" runat="server" Width="514px" AllowPaging="True"
View 1 Replies
May 20, 2010
It's breaking at spot below in RowUpdating Event with the error msg "Index was out of range. Must be non-negative and less than the size of the collection"
txtAddress = CType(GridView1.Rows(e.RowIndex).FindControl("txtAddress"), TextBox).Text
Here's my code:
ASP
<form id="form1" runat="server">
<asp:GridView id="GridView1" runat="server" CssClass="Grid" DataKeyNames="ID"
AllowPaging="false"
OnRowEditing = "GridView1_RowEditing" OnRowDeleting = "GridView1_RowDelete"
OnRowUpdating = "GridView1_RowUpdating"
AutoGenerateColumns="False"
EnableViewState="false" ShowFooter="true">
<FooterStyle ForeColor="#4A3C8C" BackColor="#B5C7DE"></FooterStyle>
<HeaderStyle Font-Bold="True" ForeColor="#F7F7F7" BackColor="#4A3C8C"></HeaderStyle>
<Columns>
<asp:TemplateField HeaderText="ID">
<ItemTemplate>
<%#Eval("ID")%>
</ItemTemplate>
<FooterTemplate>
<asp:Button id="btnAdd" Runat="server" Text="Add New" CommandName="Insert"></asp:Button>
</FooterTemplate>
</asp:TemplateField>
<asp:CommandField ShowEditButton="true" EditText="Edit" HeaderText="Edit" CausesValidation="false"/>
<asp:CommandField ShowDeleteButton="true" EditText="Delete" HeaderText="Delete />
<asp:TemplateField HeaderText="mlsnum">
<EditItemTemplate>
<asp:TextBox ID="txtMls" runat="server" Text='<%# Eval("mlsnum") %>'/>
</EditItemTemplate>
<ItemTemplate>
<%#Eval("mlsnum")%>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtMLS" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="reqMLS"
runat="server" ControlToValidate="txtMLS"
Display="Dynamic"
ErrorMessage="You must enter an MLS #.">
* </asp:RequiredFieldValidator>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Address">
<EditItemTemplate>
<asp:TextBox ID="txtAddress" runat="server" Text='<%# Eval("Address") %>'/>
</EditItemTemplate>
<ItemTemplate>
<%#Eval("Address")%>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtAddress" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="reqAddress"
runat="server" ControlToValidate="txtAddress"
Display="Dynamic"
ErrorMessage="Please enter an address.">
* </asp:RequiredFieldValidator>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Subdivision">
<EditItemTemplate>
<asp:TextBox ID="txtSubdivision" runat="server" Text='<%# Eval("subdivision") %>'/>
</EditItemTemplate>
<ItemTemplate>
<%#Eval("Subdivision")%>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtSubdivision" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="reqSubdivision"
runat="server" ControlToValidate="txtSubdivision"
Display="Dynamic"
ErrorMessage="Please enter a Subdivision.">
* </asp:RequiredFieldValidator>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Price">
<EditItemTemplate>
<asp:TextBox ID="txtPrice" runat="server" Text='<%# Bind("Price") %>'/>
</EditItemTemplate>
<ItemTemplate>
<%#Eval("Price")%>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtPrice" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="reqPrice"
runat="server" ControlToValidate="txtPrice"
Display="Dynamic"
ErrorMessage="Please enter an Price.">
* </asp:RequiredFieldValidator>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Agent">
<ItemTemplate>
<%#Eval("Agent")%>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtAgent" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="reqAgent"
runat="server" ControlToValidate="txtAgent"
Display="Dynamic"
ErrorMessage="Please enter an Agent.">
* </asp:RequiredFieldValidator>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Comment">
<EditItemTemplate>
<asp:TextBox ID="txtComment" runat="server" Text='<%# Eval("Comment") %>'/>
</EditItemTemplate>
<ItemTemplate>
<%#Eval("Comment")%>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtComment" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="reqComment"
runat="server" ControlToValidate="txtComment"
Display="Dynamic"
ErrorMessage="Please enter a Comment.">
* </asp:RequiredFieldValidator>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="PhotoAd">
<EditItemTemplate>
<asp:checkbox ID="chkPhotoAd" runat="server" Checked=true/>
</EditItemTemplate>
<ItemTemplate>
<asp:checkbox id="chkPhotoAd" runat="server" Enabled="true" />
</ItemTemplate>
<FooterTemplate>
<asp:CheckBox ID="chkAddPhotoAd" runat="server" Enabled="true" />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="LineAd">
<EditItemTemplate>
<asp:checkbox ID="chkLineAd" runat="server" Checked=true/>
</EditItemTemplate>
<ItemTemplate>
<asp:checkbox id="chkLineAd" runat="server" Enabled="true" />
</ItemTemplate>
<FooterTemplate>
<asp:CheckBox ID="chkAddLineAd" runat="server" Enabled="true" />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="# of Balloons">
<EditItemTemplate>
<asp:TextBox ID="txtNumBalloons" runat="server" Text='<%# Eval("NumBalloons") %>'/>
</EditItemTemplate>
<ItemTemplate>
<%# Eval("NumBalloons")%>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="intNumBalloons" runat="server"></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
VB
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
Try
BindData()
Catch ex As Exception
'Error Handler
lblError.Visible = True
lblError.Text = Err.Description()
'lblError.Text = Err.Number
End Try
End If
End Sub
Sub BindData()
Dim ds As New DataSet
Dim objDS = New DataSet
Dim cmd As SqlCommand
Dim dataAdapter As New SqlDataAdapter
strSqlConnection = ConfigurationManager.AppSettings("ConnectionString")
sqlConn = New SqlConnection(strSqlConnection)
strSqlStatement = "select * from tblAdSignup"
cmd = New SqlCommand(strSqlStatement, sqlConn)
dataAdapter.SelectCommand = cmd
dataAdapter.Fill(ds)
objDS.DataSetName = "ds"
GridView1.DataSource = ds
GridView1.DataBind()
End Sub
Protected Sub GridView1_RowEditing(ByVal sender As Object, ByVal e As GridViewEditEventArgs)
GridView1.ShowFooter = False
GridView1.EditIndex = e.NewEditIndex
BindData()
End Sub
Protected Sub GridView1_RowCancel(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
GridView1.ShowFooter = True
GridView1.EditIndex = -1
BindData()
End Sub
Protected Sub GridView1_RowUpdating(ByVal sender As Object, ByVal e As GridViewUpdateEventArgs)
'Try
'BindData()
'Dim eRow As Int16 = e.RowIndex
'Dim id2 As Integer
ID = GridView1.DataKeys(e.RowIndex).Value
'ID2 = GridView1.DataKeys(1).Value
Dim txtAddress, txtAddress2 As String
'Dim test As Integer
'test = GridView1.Rows(0).Cells.Count
'Dim strAddress As String = DirectCast(GridView1.Rows(e.RowIndex).FindControl("txtAddress"), TextBox).Text
'Dim txtAddress As TextBox
'txtAddress = DirectCast(GridView1.Rows(e.RowIndex).FindControl("txtAddress"), TextBox)
txtAddress = CType(GridView1.Rows(e.RowIndex).FindControl("txtAddress"), TextBox).Text
'txtAddress2 = GridView1.Rows(0).Cells(0).Text
'txtAddress2 = CType(GridView1.SelectedRow.FindControl("txtAddress"), TextBox).Text
'
'Catch ex As Exception
' 'Error Handler
' lblError.Visible = True
' lblError.Text = Err.Description()
' 'lblError.Text = Err.Number
'End Try
End Sub
View 8 Replies
Apr 1, 2010
I've put a simple gridview on my Asp.net webpage. I've configured the fields via C# code:
gvMainDataGrid.AutoGenerateColumns = false;
gvMainDataGrid.AutoGenerateDeleteButton = false;
BoundField bfldSeqNmbr = new BoundField();
bfldSeqNmbr.DataField = "PKSequenceNmbr";
bfldSeqNmbr.Visible = false;
gvMainDataGrid.Columns.Add(bfldSeqNmbr);
BoundField bfldEmployeeCode = new BoundField();
bfldEmployeeCode.DataField = "Employee Code";
bfldEmployeeCode.HeaderText = "Employee Code";
gvMainDataGrid.Columns.Add(bfldEmployeeCode);
BoundField bfldProjectCode = new BoundField();
bfldProjectCode.DataField = "Project Code";
bfldProjectCode.HeaderText = "Project Code";
gvMainDataGrid.Columns.Add(bfldProjectCode);
BoundField bfldProcessCode = new BoundField();
bfldProcessCode.DataField = "Process Code";
bfldProcessCode.HeaderText = "Process Code";
gvMainDataGrid.Columns.Add(bfldProcessCode);
BoundField bfldActivityDate = new BoundField();
bfldActivityDate.DataField = "Date";
bfldActivityDate.HeaderText = "Date";
gvMainDataGrid.Columns.Add(bfldActivityDate);
BoundField bfldActivityHours = new BoundField();
bfldActivityHours.DataField = "Activity Hours";
bfldActivityHours.HeaderText = "Activity Hours";
gvMainDataGrid.Columns.Add(bfldActivityHours);
CommandField cfldDeleteButton = new CommandField();
cfldDeleteButton.ShowDeleteButton = true;
gvMainDataGrid.Columns.Add(cfldDeleteButton);
It's data source is a Dataset retrieved from a webservice. Here is the C#code to bind the data to the gridview
Service1 MyService = new Service1();
dsMainData = MyService.GetData(strIdNumber);
gvMainDataGrid.DataSource = dsMainData;
gvMainDataGrid.DataBind();
It retrieves great. No problems at all. Then, when I actually try to use the delete button, I get an error that the RowDeleting event is not being handled. I thought that was pretty explicit, so I created the event:
private void gvMainDataGrid_RowDeleting(Object sender, GridViewDeletedEventArgs e)
{
return;
}
Well.....that didn't work. So, I thought that maybe I needed to configure it via the actual aspx file. So, I changed
<asp:GridView ID="gvMainDataGrid" runat="server">
</asp:GridView>
to this:
<asp:GridView ID="gvMainDataGrid" runat="server" ondeleting="gvMainDataGrid_RowDeleting">
</asp:GridView>
But, no avail. I've scoured the web and tried so many combinations of capital letters and whatnot -- but no effect.
View 3 Replies
Mar 18, 2010
[Code]....
Dynamic Gridview is Empty on RowUpdating
View 9 Replies
Nov 25, 2010
I have a GridView ona "View Order" page which pulls data from a table: an item name, its description, the quantity ordered, the unit price and the total (item) cost: unit price * quantity ordered. This data, including the calculation for total cost is handled on the previous "Place Order" page using a Stored Procedure.
I want the user on the "View Order" page to be able to hit the standard "Edit" link (Command Field over at the left) and then change the "Quantity" field. This works fine and, when "Update" is hit, the field reflects the change.
PROBLEM: Because the Total Cost is calculated on the previous page, thsi doesn't change, I need to calculate it again.
WHAT I'VE TRIED: I've stripped the TotalCost field out of the SqlDataSource Update commands and attempted to use e.NewValues in the RowUpdating event handler to inject the new calculation. This doesn't work.
WHAT HAPPENS: The "ViewOrder" page refreshes, the new quantity is there but the TotalCost has not changed. No errors reported.
Is this the right way to do it and, if so, is my code okay? Here it is:
ASPX for ViewOrder:
[Code]....
And here's the Code Behind for ViewOrder:
[Code]....
"OrderMealValue" is the field for the Total Cost.
The fourth colum contains the Quantity and the fifth the price for one item.
View 2 Replies
Jan 21, 2011
I am populating a column in a gridview with a dropdownlist as follows:
[Code]....
[Code]....
When I edit the gridrow, the dropdown is there and I can select a new item.
But I can't find the dropdown during the rowupdated event. The cell control says it's a Textbox. All of the other items in the row are fine and I can get the data back. But I can't get the DropDown item.
Here are some of the things I have tried in the RowUpdating event:
DropDownList test = (DropDownList)e.FindControl("ddlPeriod");
//null
DropDownList ddl = (DropDownList)GridView1.Rows[e.RowIndex].FindControl("ddlPeriod");
//Also null
var test = row.Cells[8].Controls[0];
//Says its a textbox.
View 5 Replies
Mar 3, 2010
I have a GridView. I allow editing using:
[Code]....
As I allow editing of row, so I have GridView:RowUpdating(). In it, I check if the entered value is valid. If not, I have e.Cancel = true.
[Code]....
After I see the message box comes up, the textbox still stays the same. I expect the textbox will disappear just as if I have pressed the Cancel button. (By the way, the ClientUtil is a class someone has written for me.)
How do I make the e.Cancel = true works as if I press the Cancel button.
View 2 Replies
Dec 17, 2010
The table serving as the data source is a simple access table.
[Code]....
View 7 Replies
Dec 17, 2010
i am using a grid view . i have added a linkbutton in cell[0]. when clicking on this butoon the below event is working.. actually i tried to get the cell[1].text... but not getting any cell values except cell[0].text... get the cell[1].text value.
protected void grvSchedule_RowCommand(object sender,
GridViewCommandEventArgs e)
{ if (Convert.ToInt32(e.CommandArgument) == 1)
{LinkButton lbt = (LinkButton)e.CommandSource;
GridViewRow grvRow = (GridViewRow)((DataControlFieldCell)lbt.Parent).Parent;
txtTime.Text = grvRow.Cells[0].Text;
//txtTime.Text = grvRow.Cells[1].Text;
mvwApp.ActiveViewIndex = 1;
FillToSavePage();
hfdConsId.Value = ddlConsultant.SelectedValue.Trim();
}
}
View 6 Replies