473,395 Members | 1,403 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,395 software developers and data experts.

Update button in datagrid causing validation elsewhere on page

Hi all,

I am having a slight problem that hopefully, someone can help me fix.

I have a form on a page. Many items on the form have validation controls
attached.
Also on this form are linkbuttons which must not cause validation. I have
found a setting "causeValidation" to disable the validation.

Also on the page, I have a datagrid that I will edit lines on. I can click
edit and cancel without enforced validation, however, if I click Update, the
validation comes up.

I have tried to put a causesValidation="false" in the linkbutton column on
the datagrid but to no avail.

When I hover over the Update link, I have...
javascript:{if {typeod(Page_ClientValidate) != 'function' ||
Page_ClientValidate()) __doPostback...

in the status bar.

How can I override the Update link to prevent the validation from happening?

Also, if I was to limit just the Update to the datagrid text boxes, how
would I validate those?

A third Q... when in edit mode of the datagrid, how can I use a DropDownList
instead of a text box?

Thanks.

Best regards,
Dave Colliver.
http://www.AshfieldFOCUS.com
~~
http://www.FOCUSPortals.com - Portal franchises available
Nov 19 '05 #1
4 2954
Hi David,

ASP.NET 2.0 will solve it with the introduction of "validation groups". It
allows you to assign a group name to the submit control and the validators
it fires. My Professional Validation And More product
(http://www.peterblum.com/vam/home.aspx) supports validation groups (its
actually more powerful than the ASP.NET 2.0 version although they look very
similar.)

In ASP.NET 1.x, the normal way to get the same behavior is to turn off
client-side validation on the submit button. This would work for your
linkbutton:
- Set CausesValidation=false
- In the Click post back event method, call each validator's Validate()
method that applies to this button. Then test IsValid is true on all of the
same validators. Proceed if all are true.

This is harder with a DataGrid because the Update button's CausesValidation
property is hidden from you and is always true.

I encourage you to download the trial version of Professional Validation And
More to explore how it can help you. Its a much bigger system than just a
fix to this problem. It has 45 controls and many new ideas for validation
including client-side support of validation on many more browsers like
FireFox and Safari.

--- Peter Blum
www.PeterBlum.com
Email: PL****@PeterBlum.com
Creator of "Professional Validation And More" at
http://www.peterblum.com/vam/home.aspx

"David Colliver" <Da***********@discussions.microsoft.com> wrote in message
news:C8**********************************@microsof t.com...
Hi all,

I am having a slight problem that hopefully, someone can help me fix.

I have a form on a page. Many items on the form have validation controls
attached.
Also on this form are linkbuttons which must not cause validation. I have
found a setting "causeValidation" to disable the validation.

Also on the page, I have a datagrid that I will edit lines on. I can click
edit and cancel without enforced validation, however, if I click Update,
the
validation comes up.

I have tried to put a causesValidation="false" in the linkbutton column on
the datagrid but to no avail.

When I hover over the Update link, I have...
javascript:{if {typeod(Page_ClientValidate) != 'function' ||
Page_ClientValidate()) __doPostback...

in the status bar.

How can I override the Update link to prevent the validation from
happening?

Also, if I was to limit just the Update to the datagrid text boxes, how
would I validate those?

A third Q... when in edit mode of the datagrid, how can I use a
DropDownList
instead of a text box?

Thanks.

Best regards,
Dave Colliver.
http://www.AshfieldFOCUS.com
~~
http://www.FOCUSPortals.com - Portal franchises available

Nov 19 '05 #2
Hi David,

As you mention, causeValidation can disable the validation. You can set
Update Button's causeValidation in datagrid_EditCommand event:
datagrid.EditItemIndex = e.Item.ItemIndex;
datagrid.DataBind();

LinkButton updateBtn =
(LinkButton)datagrid.Items[e.Item.ItemIndex].Controls[0];
updateBtn.CausesValidation = false;

HTH

Elton Wang
el********@hotmail.com

"David Colliver" wrote:
Hi all,

I am having a slight problem that hopefully, someone can help me fix.

I have a form on a page. Many items on the form have validation controls
attached.
Also on this form are linkbuttons which must not cause validation. I have
found a setting "causeValidation" to disable the validation.

Also on the page, I have a datagrid that I will edit lines on. I can click
edit and cancel without enforced validation, however, if I click Update, the
validation comes up.

I have tried to put a causesValidation="false" in the linkbutton column on
the datagrid but to no avail.

When I hover over the Update link, I have...
javascript:{if {typeod(Page_ClientValidate) != 'function' ||
Page_ClientValidate()) __doPostback...

in the status bar.

How can I override the Update link to prevent the validation from happening?

Also, if I was to limit just the Update to the datagrid text boxes, how
would I validate those?

A third Q... when in edit mode of the datagrid, how can I use a DropDownList
instead of a text box?

Thanks.

Best regards,
Dave Colliver.
http://www.AshfieldFOCUS.com
~~
http://www.FOCUSPortals.com - Portal franchises available

Nov 19 '05 #3
Hi Elton,

Thank you.

However, I am having a problem...

I have exactly the code you have suggested (with object names changed as
neccessary) but I am getting...

System.ArgumentOutOfRangeException: Index was out of range. Must be
non-negative and less than the size of the collection. Parameter name: index

My code...

private void SecondaryEdEducationDataGrid_EditCommand(object source,
System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
SecondaryEdEducationDataGrid.EditItemIndex = e.Item.ItemIndex;
SecondaryEdEducationDataGrid.DataBind();
Trace.Warn("ItemIndex", e.Item.ItemIndex.ToString());
LinkButton updateBtn =
(LinkButton)SecondaryEdEducationDataGrid.Items[e.Item.ItemIndex].Controls[0];
updateBtn.CausesValidation = false;
}

The line that is being pointed to is the "LinkButton updateBtn" line.

I understand what you are pointing me at, and it was an area that I had not
considered.

Thanks.
Regards,
Dave Colliver.
http://www.DerbyFOCUS.com
~~
http://www.FOCUSPortals.com - Portal franchises available
"Elton W" wrote:
Hi David,

As you mention, causeValidation can disable the validation. You can set
Update Button's causeValidation in datagrid_EditCommand event:
datagrid.EditItemIndex = e.Item.ItemIndex;
datagrid.DataBind();

LinkButton updateBtn =
(LinkButton)datagrid.Items[e.Item.ItemIndex].Controls[0];
updateBtn.CausesValidation = false;

HTH

Elton Wang
el********@hotmail.com

"David Colliver" wrote:
Hi all,

I am having a slight problem that hopefully, someone can help me fix.

I have a form on a page. Many items on the form have validation controls
attached.
Also on this form are linkbuttons which must not cause validation. I have
found a setting "causeValidation" to disable the validation.

Also on the page, I have a datagrid that I will edit lines on. I can click
edit and cancel without enforced validation, however, if I click Update, the
validation comes up.

I have tried to put a causesValidation="false" in the linkbutton column on
the datagrid but to no avail.

When I hover over the Update link, I have...
javascript:{if {typeod(Page_ClientValidate) != 'function' ||
Page_ClientValidate()) __doPostback...

in the status bar.

How can I override the Update link to prevent the validation from happening?

Also, if I was to limit just the Update to the datagrid text boxes, how
would I validate those?

A third Q... when in edit mode of the datagrid, how can I use a DropDownList
instead of a text box?

Thanks.

Best regards,
Dave Colliver.
http://www.AshfieldFOCUS.com
~~
http://www.FOCUSPortals.com - Portal franchises available

Nov 19 '05 #4
Sorted now...

It should be...

LinkButton updateBtn =
(LinkButton)datagrid.Items[e.Item.ItemIndex].Controls[0].Controls[0];

Notice the second .Controls[0] ?

Regards,
Dave Colliver.
http://www.ChesterfieldFOCUS.com
~~
http://www.FOCUSPortals.com - Portal franchises available
"David Colliver" wrote:
Hi Elton,

Thank you.

However, I am having a problem...

I have exactly the code you have suggested (with object names changed as
neccessary) but I am getting...

System.ArgumentOutOfRangeException: Index was out of range. Must be
non-negative and less than the size of the collection. Parameter name: index

My code...

private void SecondaryEdEducationDataGrid_EditCommand(object source,
System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
SecondaryEdEducationDataGrid.EditItemIndex = e.Item.ItemIndex;
SecondaryEdEducationDataGrid.DataBind();
Trace.Warn("ItemIndex", e.Item.ItemIndex.ToString());
LinkButton updateBtn =
(LinkButton)SecondaryEdEducationDataGrid.Items[e.Item.ItemIndex].Controls[0];
updateBtn.CausesValidation = false;
}

The line that is being pointed to is the "LinkButton updateBtn" line.

I understand what you are pointing me at, and it was an area that I had not
considered.

Thanks.
Regards,
Dave Colliver.
http://www.DerbyFOCUS.com
~~
http://www.FOCUSPortals.com - Portal franchises available
"Elton W" wrote:
Hi David,

As you mention, causeValidation can disable the validation. You can set
Update Button's causeValidation in datagrid_EditCommand event:
datagrid.EditItemIndex = e.Item.ItemIndex;
datagrid.DataBind();

LinkButton updateBtn =
(LinkButton)datagrid.Items[e.Item.ItemIndex].Controls[0];
updateBtn.CausesValidation = false;

HTH

Elton Wang
el********@hotmail.com

"David Colliver" wrote:
Hi all,

I am having a slight problem that hopefully, someone can help me fix.

I have a form on a page. Many items on the form have validation controls
attached.
Also on this form are linkbuttons which must not cause validation. I have
found a setting "causeValidation" to disable the validation.

Also on the page, I have a datagrid that I will edit lines on. I can click
edit and cancel without enforced validation, however, if I click Update, the
validation comes up.

I have tried to put a causesValidation="false" in the linkbutton column on
the datagrid but to no avail.

When I hover over the Update link, I have...
javascript:{if {typeod(Page_ClientValidate) != 'function' ||
Page_ClientValidate()) __doPostback...

in the status bar.

How can I override the Update link to prevent the validation from happening?

Also, if I was to limit just the Update to the datagrid text boxes, how
would I validate those?

A third Q... when in edit mode of the datagrid, how can I use a DropDownList
instead of a text box?

Thanks.

Best regards,
Dave Colliver.
http://www.AshfieldFOCUS.com
~~
http://www.FOCUSPortals.com - Portal franchises available

Nov 19 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Manish | last post by:
Hey folks I am having a weird problem in ASP .Net. My page is in C#. I have a datagrid, which populates based on selection in drop down box on ASP page. This datagrid has template textbox colum in...
3
by: John Blair | last post by:
Hi, I have validators outside of a datagrid (for adding a new grid row) - however when i click "edit" column and then the "update" column of a grid row that has been edited - my other...
4
by: siaj | last post by:
Hello All, If some one has faced a similar issue.. My datagrid Update command is not getting fired in fact it seems that the no event fires on clicking the update link. Although the cancel and the...
25
by: Neo Geshel | last post by:
This works: <form> <asp:TextBox id="name" /> <%= name.ClientID %> </form> But this DOES NOT work: <form>
13
by: Lyners | last post by:
I have a web page writen in ASP.NET that contains some javascript so that when a user presses a button, or edits a certain field in a datagrid, another cell in the datagrid is filled with a value....
0
by: Erik | last post by:
Why isn't my update method getting called? Pasted below is an aspx from a 1.1 application I'm working on. It has two textboxes and a button for inserting data into the database, and a datagrid...
1
by: geeteshss | last post by:
Dear all, actually i spent a whole month on the R&D of datagrid edit ,update,cancel events but recently my guide told me to make it user friendly because no user would like to go on searching rows...
11
by: SAL | last post by:
Hello, I have a Gridview control (.net 2.0) that I'm having trouble getting the Update button to fire any kind of event or preforming the update. The datatable is based on a join so I don't know...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.