Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

GridView not showing contents of EmptyDataTemplate and grid headers at same time

Posted on 2013-01-29
5
Medium Priority
?
545 Views
Last Modified: 2013-11-19
Hello

I have a gridview with multiple columns ecah defined within an <asp:TemplateField> tag.  Now when I have no rows returned from my DB  I want my grid to retain its headers but also show the "No Rows Returned" message.

Normally I do this by binding a single empty object within an array as my returned results as follows:

if (list == null || list.Length == 0)
{
      list = new MyGridListItem[] { new MyGridListItem() };
 }

 return list;

But for some reason when I do this I seeing my grid headers and then an empty row in the grid instead of the "No Rows Returned" message??  If I simply return null from this method then I get my message but no grid headers.

Has anyone any idea whay this should be?

Many thanks
Sam
0
Comment
Question by:Samanthaoneill1502
5 Comments
 
LVL 20

Expert Comment

by:informaniac
ID: 38831556
0
 
LVL 41

Expert Comment

by:guru_sami
ID: 38831795
Check this: http://www.experts-exchange.com/Programming/Languages/.NET/ASP.NET/Q_28009390.html

Why it's doing that is because EmptyDataItemTemplate is shown if the datasource is null. Since you array with one item, it's not considered empty.
0
 
LVL 10

Accepted Solution

by:
Monica P earned 2000 total points
ID: 38834180
Checkout like this

<asp:GridView ID="gvdata" runat="server" CssClass="Gridview" AutoGenerateColumns="false" HeaderStyle-BackColor="#7779AF" HeaderStyle-ForeColor="White">
<Columns>
<asp:BoundField DataField="UserName" HeaderText="Name"/>
<asp:BoundField DataField ="FirstName" HeaderText="FirstName" />
<asp:BoundField DataField="LastName" HeaderText="LastName" />
<asp:BoundField DataField="Location" HeaderText="Location" />
</Columns>
</asp:GridView>

Open in new window



protected void BindGridviewData()
{
SqlConnection con = new SqlConnection("Data Source=xxx;Initial Catalog=testDB;Integrated Security=True");
con.Open();
SqlCommand cmd = new SqlCommand("select UserName,FirstName,LastName,Location from UserDetails", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
if(ds.Tables[0].Rows.Count==0)
{
ds.Tables[0].Rows.Add(ds.Tables[0].NewRow());
gvdata.DataSource = ds;
gvdata.DataBind();
int columncount = gvdata.Rows[0].Cells.Count;
gvdata.Rows[0].Cells.Clear();
gvdata.Rows[0].Cells.Add(new TableCell());
gvdata.Rows[0].Cells[0].ColumnSpan = columncount;
gvdata.Rows[0].Cells[0].Text = "No Records Found";
}
else
{
gvdata.DataSource = ds;
gvdata.DataBind();  
}
con.Close();
}

Open in new window

0
 

Author Closing Comment

by:Samanthaoneill1502
ID: 38838811
This worked perfectly for my situation.  Many thanks much appreciated.
0

Featured Post

NEW Veeam Backup for Microsoft Office 365 1.5

With Office 365, it’s your data and your responsibility to protect it. NEW Veeam Backup for Microsoft Office 365 eliminates the risk of losing access to your Office 365 data.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article was originally published on Monitis Blog, you can check it here . Today it’s fairly well known that high-performing websites and applications bring in more visitors, higher SEO, and ultimately more sales. By the same token, downtime…
Originally, this post was published on Monitis Blog, you can check it here . It goes without saying that technology has transformed society and the very nature of how we live, work, and communicate in ways that would’ve been incomprehensible 5 ye…
This tutorial walks through the best practices in adding a local business to Google Maps including how to properly search for duplicates, marker placement, and inputing business details. Login to your Google Account, then search for "Google Mapmaker…
Learn how to create flexible layouts using relative units in CSS.  New relative units added in CSS3 include vw(viewports width), vh(viewports height), vmin(minimum of viewports height and width), and vmax (maximum of viewports height and width).
Suggested Courses

972 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question