This example explains how to handle NULL In GridView EVAL Calling Serverside Method In ItemTemplate
In this example i am going to describe how to handle NULL values from DataBase in Eval method of GridView ItemTemplate or How to call Server side method written in code behind in ItemTemplate of GridView.
My Table in database look like as shown in image below, some columns contains NULL values and i'll be showing "No Records Found" instead of NULL values in GridView.
To achieve this i've written a Method in code behind and will be calling this method in ItemTemplate of GridView.
Html source of GridView
<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" AutoGenerateColumns="false"> <Columns> <asp:BoundField ShowHeader="true" DataField="ID" HeaderText="ID" /> <asp:TemplateField HeaderText="Name"> <ItemTemplate> <asp:Label ID="Label1" runat="server" Text='<%# CheckNull(Eval("Name")) %>'> </asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Location"> <ItemTemplate> <asp:Label ID="Label1" runat="server" Text='<%# CheckNull(Eval("Location")) %>'> </asp:Label> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT ID, Name, Location FROM Details"> </asp:SqlDataSource>
In above code i am calling server side method CheckNull written in code behind from ItemTemplate of GridView which check the NULL values and change it as we want.
C# code for the CheckNull method
01
protected
string
CheckNull(
object
objGrid)
02
{
03
if
(
object
.ReferenceEquals(objGrid, DBNull.Value))
04
{
05
return
"No Record Found"
;
06
}
07
else
08
{
09
return
objGrid.ToString();
10
}
11
}
VB.NET code behind
1
Protected
Function
CheckNull(
ByVal
objGrid
As
Object
)
As
String
2
If
Object
.ReferenceEquals(objGrid, DBNull.Value)
Then
3
Return
"No Record Found"
4
Else
5
Return
objGrid.ToString()
6
End
If
7
End
Function
And this is how gridview will render
Hope this helps
If you like this post than join us or share
8 comments:
Cute, but I would recommend that instead of doing this on the control, you should improve you query with the appropiate function (Coalesce(),Isnull(),etc.) seems to me it would improve the perfomance.
Greetings
It is really helped me lot. Thank you. You saved my one hour time.
Hi there!
I have been asked to modify an asp.net project which was developed long time back. Now i dont have an .aspx.cs file and the proj works fine, since it is a code behind model. Is there anyway, i can get the .aspx.cs file? (i have all the dll files in place)
Anonymous: In my case, I want to render a character on the page instead of a blank space when the bound value is null. IMHO, this is better done in the page's code behind rather than in the db query.
Therefore, doing a check for null value in the query doesn't make sense, in my case.
Excellent solution ... Thanks for sharing ...
It helped me a lot ...
Qadir
IT Height
Thank u very much
why don't you just use ISNULL in your sql statement? of course if you have access to it.
SELECT ISNULL(nullvaluefield, replacement) FROM table
it's helpful
Post a Comment