Help with hiding LinkButton in DataList

N

News

Hi,

I need help with datalist and linkbutton.
I need a LinkButton to be visible in datalist only on the condition when
datafield "is_measure_customchecklist" in a db table set to true.

Here is the code (in parts):

<asp:DataList id="dtl1"
runat="server"
DataKeyField="program_id"
OnItemCommand="DoItemSelect"
OnItemCreated="Item_Created"
OnItemDataBound="BindProgramGrid" >


<ItemTemplate>
<%# Container.DataItem("name") %> &nbsp;
<asp:LinkButton Visible="false" ID="managechecklist"
CommandName="managechecklist" Text="Manage Checklist"
CommandArgument='<%#DataBinder.Eval(Container.DataItem,
"is_measure_customchecklist") %>'
Runat="server" />
</ItemTemplate>

<SelectedItemTemplate>
<b><%# Container.DataItem("name") %></b> &nbsp; <asp:LinkButton
CommandName="Editprogram" Text="Edit Program" runat="server" /> &nbsp;
<asp:LinkButton ID="managechecklist" CommandName="managechecklist"
Text="Manage Checklist" CommandArgument='<%#
DataBinder.Eval(Container.DataItem, "is_measure_customchecklist") %>'
Runat="server" />
.....
</SelectedItemTemplate>


1. I tried with this method (below) but can not get value of the
CommandArgument of the LinkButton (understand that commandargument is not
part of DataListItemEventArgs):

Sub Item_Created(sender As Object, e As DataListItemEventArgs)
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType =
ListItemType.AlternatingItem Then
' Retrieve the Label control in the current DataListItem.
Dim lbtnManageCheckist As LinkButton =
CType(e.Item.FindControl("managechecklist"), LinkButton)

lbtnManageCheckist.visible = False
If lbtnManageCheckist.CommandArgument.toString() Then
lbtnManageCheckist.visible = True
End If

End If
End Sub


2. I tried another way, here I can get the value of CommandArgument value
but setting
of the link button (lbtnManageCheckist.visible = True) to visible is not
working:

Sub DoItemSelect(sender As Object, e As DataListCommandEventArgs)
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType =
ListItemType.AlternatingItem Then
' Retrieve the Label control in the current DataListItem.
Dim lbtnManageCheckist As LinkButton =
CType(e.Item.FindControl("managechecklist"), LinkButton)

lbtnManageCheckist.visible = False
If lbtnManageCheckist.CommandArgument.toString() Then
lbtnManageCheckist.visible = True
End If

End If
End Sub




Can anyone advise what is the better way to get this thing working. I need
link button to appear in DataList on condition "is_measure_customchecklist"
is true


Thank you...
 
C

Cor Ligthert

Hi News,

Why do you not set that visible and not visible in the server side load
event?

Cor
 
N

News

Oh, you meant Page_Load, I am not sure I can do that. The data populates
datalist after DataBind() method is called. This method is bound to
datalist. Datalist displays linkbuttons and depending on one of the
variables, I need to make linkbutton visible or not visible.
 

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

Top