problem with linbutton in edit mode

M

Mark

Hi,

i want to perform several things (like checking and correcting automatically
the lenght of a multiline textbox in order to avoid Truncate error, removing
automatically "<" and "'" to avoid "potential danger" error etc ..) with
javascript on a gridview.

If i take in the aspx file this:
<asp:CommandField ShowEditButton="True">
i have no possibility to use the OnClientClick property.

So i made some Templatefields like this:
></asp:LinkButton>
</ItemTemplate></asp:TemplateField>

<asp:TemplateField><EditItemTemplate>
<asp:LinkButton ID="lb2" runat="server" CommandName="Update"
OnClientClick="myfunction();"></asp:LinkButton>
</EditItemTemplate></asp:TemplateField>

></asp:LinkButton>
</EditItemTemplate></asp:TemplateField>

My problem is now that the linkbutton "Edit" not only appears in normal
mode, but also in Edit mode, together with "Update" and "Cancel"..

I can make it invisible in code-behind, but then there is still an empty
space or column in the gridview.

Any way to solve this?
Thanks
Mark
 
T

Teemu Keiski

Hi,

couldn't you just set myGrid.Columns(x).Visible = False where x is the index
of the column you wish to hide, when you don't want the LinkButton to be
displayed. That would hide the entire column, not just the control.
 
M

Mark

Hi, thanks for replying.

I tried this:

Protected Sub GridView1_RowCreated(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowCreated
If (e.Row.RowState And DataControlRowState.Edit) = DataControlRowState.Edit
Then
If e.Row.RowType = DataControlRowType.DataRow Then
Dim lb As LinkButton
lb = e.Row.FindControl("lb2")
lb.Visible = False
....

But there is still an empty column in the selected row and "Edit" is shown
in all not selected rows.

I also tried this:
Protected Sub GridView1_RowCreated(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowCreated
If (e.Row.RowState And DataControlRowState.Edit) = DataControlRowState.Edit
Then
GridView1.Columns(1).Visible = False

but this gives the error: Object reference not set to an instance of an
object.
 
M

Mark

I tried this:
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.GridViewRowEventArgs) Handles
GridView1.RowDataBound
If (e.Row.RowState And DataControlRowState.Edit) =
DataControlRowState.Edit Then
Dim lb As LinkButton
lb = e.Row.FindControl("lb2")
lb.Visible = False
End If
End Sub
but same result: the column is only empty (with a gap) in the selected row.

I also tried this:

Sub GridView1_DataBound doesn't accept the line:
" If (e.Row.RowState And DataControlRowState.Edit) =
DataControlRowState.Edit Then"

It seems to be a though case ...
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,768
Messages
2,569,575
Members
45,053
Latest member
billing-software

Latest Threads

Top