Conditional use of Eval in asp.net 2.0 with Gridview

I

idletask

I have an SQLDataSource control, which is bound to an ASP.net 2.0
GridView control. It outputs a list of documents that a user can check
in or check out of the database.

In my gridview, I have a column called "checked out" which is bound to
a column in my database, called "checkedout". A zero means no, and a
one means yes (that the document is checked out).

Showing a 0 or 1 is ugly and I want to use No or Yes. I can't figure
out how to get at my SQLDataSource control's rows so that I can look at
them and write text out, rather than what's in the database (a 0 or 1).

My code is like this:

<asp:Label ID="CheckedOut" runat="server" text='<%# Eval("CheckedOut")
%>' />

I've tried assiging the return value of Eval("CheckedOut") to a local
variable, but I get asp errors telling me that Eval must be used in a
databound control.

I want to do something like this:

If Eval("CheckedOut") = "0" Then
...
Else
...
End Of

I can post real code if that helps- but it's more the approach I am
looking for...

Thanks for any help

idletask.
 
G

Guest

You could write a custom function and bind to that instead.

<asp:Label ID="CheckedOut" runat="server"
text='<%# GetCheckedOutValue((int)DataBinder.Eval(Container.DataItem,
"CheckedOut")) %> />

Then in code behind or inline:
protected string GetCheckedOutValue(int checkedOut)
{
if(checkedOut == 0)
return "True";
else
return "False";
}
 
S

sloan

The wrapper function is my suggestion also.


That's kinda what "presentation" layer means.

You "present" the data the way you want to.

Keep in mind, that if you want to edit, you need to use a checkbox.
Or write a custom user control...which maybe has a drop down list of
--Select--
True
False

.....
 
P

prabhupr

Another option would be in the DB itself, send another column which has
the value of true/false, based on the value of this column which is 0/1
 

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

No members online now.

Forum statistics

Threads
473,763
Messages
2,569,562
Members
45,039
Latest member
CasimiraVa

Latest Threads

Top