Hi,
Have a custom template for my CommandItemTemplate and I am trying to hide or unhide a linkbutton when they click another one, but nothing has worked so far and I am out of ideas. it just does not find the linkbuttons, when i click on one I want to hide it then unhide the other to return.
tried this as well
Have a custom template for my CommandItemTemplate and I am trying to hide or unhide a linkbutton when they click another one, but nothing has worked so far and I am out of ideas. it just does not find the linkbuttons, when i click on one I want to hide it then unhide the other to return.
<
CommandItemTemplate
>
<
table
width
=
"100%"
>
<
tr
>
<
td
align
=
"left"
>
<
asp:LinkButton
ID
=
"lnkAddNew"
runat
=
"server"
Text
=
"Add New Record"
Font-Bold
=
"true"
Font-Underline
=
"true"
CommandName
=
"AddNew"
></
asp:LinkButton
>
<
asp:LinkButton
ID
=
"lnkExisting"
runat
=
"server"
Text
=
"View History"
Font-Bold
=
"true"
Font-Underline
=
"true"
CommandName
=
"ViewHist"
></
asp:LinkButton
>
<
asp:LinkButton
ID
=
"lnkCurrent"
runat
=
"server"
Text
=
"View Current"
Font-Bold
=
"true"
Font-Underline
=
"true"
CommandName
=
"ViewCurrent"
Visible
=
"false"
></
asp:LinkButton
>
</
td
>
</
tr
>
</
table
>
</
CommandItemTemplate
>
If (e.CommandName = "ViewHist") Then
Dim cmdItem As GridCommandItem = DirectCast(e.Item, GridCommandItem)
Dim hist As LinkButton = DirectCast(cmdItem.FindControl("lnkExisting"), LinkButton)
Dim curr As LinkButton = DirectCast(cmdItem.FindControl("lnkCurrent"), LinkButton)
hist.Visible = False
curr.Visible = True
HFHist.Value = 1
myRadGrid.Rebind()
myRadGrid.Columns(0).Visible = False
End If
tried this as well
Dim cmdItem As GridCommandItem = DirectCast(myRadGrid.MasterTableView.GetItems(GridItemType.CommandItem)(0), GridCommandItem)
10 Answers, 1 is accepted
0

Jayesh Goyani
Top achievements
Rank 2
answered on 16 Jul 2012, 07:43 PM
Hello,
Thanks,
Jayesh Goyani
<
CommandItemTemplate
>
<
asp:LinkButton
ID
=
"LinkButton1"
runat
=
"server"
CommandName
=
"LinkButton1"
>LinkButton1</
asp:LinkButton
>
<
asp:LinkButton
ID
=
"LinkButton2"
runat
=
"server"
CommandName
=
"LinkButton2"
>LinkButton2</
asp:LinkButton
>
</
CommandItemTemplate
>
protected
void
dgPassanger_ItemCommand(
object
sender, GridCommandEventArgs e)
{
if
(e.CommandName ==
"LinkButton1"
)
{
GridCommandItem item = dgPassanger.MasterTableView.GetItems(GridItemType.CommandItem)[0]
as
GridCommandItem;
(item.FindControl(
"LinkButton2"
)
as
LinkButton).Visible =
false
;
}
}
Thanks,
Jayesh Goyani
0

Kevin
Top achievements
Rank 1
answered on 16 Jul 2012, 08:06 PM
HI,
ok don't see much differencet in what i was doing and tried it but same results, it does not hide the 1st linkbutton and unhide the other link button. Checked my e.commandname to verify and everything looks fine, just does not change the visibility of the linkbuttons.
ok don't see much differencet in what i was doing and tried it but same results, it does not hide the 1st linkbutton and unhide the other link button. Checked my e.commandname to verify and everything looks fine, just does not change the visibility of the linkbuttons.
<
CommandItemTemplate
>
<
table
width
=
"100%"
>
<
tr
>
<
td
align
=
"left"
>
<
asp:LinkButton
ID
=
"lnkAddNew"
runat
=
"server"
Text
=
"Add New Record"
Font-Bold
=
"true"
Font-Underline
=
"true"
CommandName
=
"AddNew"
></
asp:LinkButton
>
<
asp:LinkButton
ID
=
"lnkExisting"
runat
=
"server"
Text
=
"View History"
Font-Bold
=
"true"
Font-Underline
=
"true"
CommandName
=
"ViewHist"
></
asp:LinkButton
>
<
asp:LinkButton
ID
=
"lnkCurrent"
runat
=
"server"
Text
=
"View Current"
Font-Bold
=
"true"
Font-Underline
=
"true"
CommandName
=
"ViewCurrent"
Visible
=
"false"
></
asp:LinkButton
>
</
td
>
</
tr
>
</
table
>
</
CommandItemTemplate
>
If (e.CommandName = "ViewHist") Then
Dim cmdItem As GridCommandItem = TryCast(myRadGrid.MasterTableView.GetItems(GridItemType.CommandItem)(0), GridCommandItem)
TryCast(cmdItem.FindControl("lnkExisting"), LinkButton).Visible = False
TryCast(cmdItem.FindControl("lnkCurrent"), LinkButton).Visible = True
HFHist.Value = 1
myRadGrid.Rebind()
myRadGrid.Columns(0).Visible = False
End If
0

Shinu
Top achievements
Rank 2
answered on 17 Jul 2012, 04:57 AM
Hi Kevin,
Please try removing the 'myRadGrid.Rebind()' and check whether the LinkButton is hiding or not.
VB:
Thanks,
Shinu.
Please try removing the 'myRadGrid.Rebind()' and check whether the LinkButton is hiding or not.
VB:
Protected
Sub
RadGrid1_ItemCommand(sender
As
Object
, e
As
GridCommandEventArgs)
If
(e.CommandName =
"ViewHist"
)
Then
Dim
cmdItem
As
GridCommandItem = TryCast(RadGrid1.MasterTableView.GetItems(GridItemType.CommandItem)(0), GridCommandItem)
TryCast(cmdItem.FindControl(
"lnkExisting"
), LinkButton).Visible =
False
TryCast(cmdItem.FindControl(
"lnkCurrent"
), LinkButton).Visible =
True
HFHist.Value = 1
myRadGrid.Columns(0).Visible =
False
End
If
End
Sub
Thanks,
Shinu.
0

Kevin
Top achievements
Rank 1
answered on 17 Jul 2012, 12:26 PM
Hi,
ok that is what is happening is when rebinding its not hiding or showing the link buttons, but the problem is I need it to rebind, what I am doing is showing the history tables in the same grid, the grid is rebound based on the value I set on the hidden field.
ok that is what is happening is when rebinding its not hiding or showing the link buttons, but the problem is I need it to rebind, what I am doing is showing the history tables in the same grid, the grid is rebound based on the value I set on the hidden field.
0

Kevin
Top achievements
Rank 1
answered on 17 Jul 2012, 12:32 PM
HI,
A method i usually use with asp grids is a checkbox outside the grid to vieew history, is there a way to find the checkbox event in the commandItemtemplate.
A method i usually use with asp grids is a checkbox outside the grid to vieew history, is there a way to find the checkbox event in the commandItemtemplate.
0

Shinu
Top achievements
Rank 2
answered on 18 Jul 2012, 04:08 AM
Hi Kevin,
You can attach the CheckChanged event for the CheckBox in CommandItemTemplate directly from its properties or can attach the event from ItemCreated event as shown below.
ASPX:
C#:
Thanks,
Shinu.
You can attach the CheckChanged event for the CheckBox in CommandItemTemplate directly from its properties or can attach the event from ItemCreated event as shown below.
ASPX:
<
CommandItemTemplate
>
<
asp:CheckBox
ID
=
"CheckBox1"
runat
=
"server"
/>
</
CommandItemTemplate
>
C#:
protected
void
RadGrid1_ItemCreated(
object
sender, GridItemEventArgs e)
{
if
(e.Item
is
GridCommandItem)
{
GridCommandItem citem = (GridCommandItem)e.Item;
CheckBox checkbox = (CheckBox)citem.FindControl(
"CheckBox1"
);
checkbox.CheckedChanged +=
new
EventHandler(checkbox_CheckedChanged);
}
}
void
checkbox_CheckedChanged(
object
sender, EventArgs e)
{
//your code
}
Thanks,
Shinu.
0

Kevin
Top achievements
Rank 1
answered on 18 Jul 2012, 01:26 PM
Hi shinu,
Thanks for the response, but does not work for me on conversion to VB.
On this protion I get a blue underline
CheckBox.CheckedChanged += New EventHandler(AddressOf checkbox_CheckedChanged)
is an event and cannot be called directly, use a raiseevent statement to raise the event.
Thanks for the response, but does not work for me on conversion to VB.
On this protion I get a blue underline
CheckBox.CheckedChanged += New EventHandler(AddressOf checkbox_CheckedChanged)
is an event and cannot be called directly, use a raiseevent statement to raise the event.
Protected Sub myRadGrid_ItemCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles myRadGrid.ItemCreated
If TypeOf e.Item is GridCommandItem the
Dim citem As GridCommandItem = DirectCast(e.Item, GridCommandItem)
Dim Cb As CheckBox = DirectCast(citem.FindControl("cbhist"), CheckBox)
CheckBox.CheckedChanged += New EventHandler(AddressOf checkbox_CheckedChanged)
End If
End Sub
Private Sub checkbox_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs)
'your code
End Sub
0

Kevin
Top achievements
Rank 1
answered on 18 Jul 2012, 01:27 PM
Hi,
changed this line to line to follwoing naming but still same error
Cb.CheckedChanged += New EventHandler(AddressOf checkbox_CheckedChanged)
changed this line to line to follwoing naming but still same error
Cb.CheckedChanged += New EventHandler(AddressOf checkbox_CheckedChanged)
0
Accepted

Shinu
Top achievements
Rank 2
answered on 19 Jul 2012, 04:06 AM
Hi kevin,
I apologize for giving the code in C#. The proper way to add an event handler in VB code-behind is the following.
VB:
Please take a look into this help documentation for more details.
Thanks,
Shinu.
I apologize for giving the code in C#. The proper way to add an event handler in VB code-behind is the following.
VB:
AddHandler
Cb.CheckedChanged,
AddressOf
Cb_CheckedChanged
Please take a look into this help documentation for more details.
Thanks,
Shinu.
0

Kevin
Top achievements
Rank 1
answered on 19 Jul 2012, 12:36 PM
Hi,
No its no problem, i know enough c# to be damergous and can read most of it and usually put it in a converter, this is just one of those instances where i have never run into doing this. I am surprised that the c# convertor I used did not catch this. thanks for your help.
No its no problem, i know enough c# to be damergous and can read most of it and usually put it in a converter, this is just one of those instances where i have never run into doing this. I am surprised that the c# convertor I used did not catch this. thanks for your help.