Hi Everybody
How can i display in the gridview.
"there is no data for this request" if the binded dataset is empty?
Can anyone give some ideas?
Thanks
why not check whether the DataSet has any rows in code before binding then show/hide a label with that text?
alternatively if it must appear in the grid view, why not build a data table with one column called result and add a row who's value is your text, then bind it to your grid view
Thanks
First one seems to be more easy
I will try for that
GridView supports EmptyDataRowStyle
http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.emptydatarowstyle.aspx
spot on nikkiH
If there is No Data in Gridview and we want to show a message that “No data available”.
We can do this by using the following tag in gridview.
<EmptyDataTemplate>
No Data Available
</EmptyDataTemplate>
JUST ADD THE EmptyDataText PROPERTY IN THE FOLLOWING WAY:
<asp:GridView runat="server" ID="gvCaseDetail" Width="100%"
EmptyDataText="there is no data for this request"
......................................
YOU CAN ALSO RENDER HTMEL TEXT LIKE:
<asp:GridView runat="server" ID="gvCaseDetail" Width="100%"
EmptyDataText="<table cellspacing=1 cellpadding=4 rules=rows border=0 style=color:Black;font-family:Tahoma;font-size:1em;width:730px;border-collapse:collapse;><tr style=color:Black;background-color:#00BFFF;font-weight:bold;><th scope=col>Case ID</th><th align=center scope=col>Subject</th><th align=center scope=col>Status</th><th align=center scope=col>Date</th><th align=center scope=col>Action</th></tr></table>"
..............................
ONE THING YOU HAVE TO KEEP IN MIND THAT IF YOU DIDN'T BIND ANY DATASOURCE YOU WILL GET BLANK.
Dear,
zneweb and mail2saion have solved your problem.
<asp:GridView ID="GridView1" runat="server">
<EmptyDataTemplate>
There is no data.
</EmptyDataTemplate>
</asp:GridView>
try with this. My english is poor ok?
Public Sub CheckEmptyGrid(ByVal grid As WebControls.GridView)
If grid.Rows.Count = 0 And Not grid.DataSource Is Nothing Then
Dim dt As Object = Nothing
If grid.DataSource.GetType Is GetType(Data.DataSet) Then
dt = New System.Data.DataSet
dt = CType(grid.DataSource, System.Data.DataSet).Tables(0).Clone()
ElseIf grid.DataSource.GetType Is GetType(Data.DataTable) Then
dt = New System.Data.DataTable
dt = CType(grid.DataSource, System.Data.DataTable).Clone()
ElseIf grid.DataSource.GetType Is GetType(Data.DataView) Then
dt = New System.Data.DataView
dt = CType(grid.DataSource, System.Data.DataView).Table.Clone
End If
dt.Rows.Add(dt.NewRow())
grid.DataSource = dt
grid.DataBind()
grid.Rows(0).Visible = False
grid.Rows(0).Controls.Clear()
End If
End Sub
and the call
CheckEmptyGrid(Grid)
With this the headers appers ok
there is a empty template in grid view to show message when data not available you can use it
try this
if (ds.Tables[0].Rows.Count > 0)
{
//bind the Data
}
else
{
lblMessage.Text = "No Data to Display";
}
a gridview is not visible when there no data, so you need to add a label that will display the message.
There's a ShowHeaderWhenEmpty property on a GridView that shows the headers even if the datasource contains no rows.
Hi Everybody
How can i display in the gridview.
"there is no data for this request" if the binded dataset is empty?Can anyone give some ideas?
Thanks
Hola,
Good morning
>How can i display in the gridview.
>
>"there is no data for this request" if the binded dataset is empty?
>
Can anyone give some ideas?
>
>
>why not check whether the DataSet has any rows in code before binding
>
>then show/hide a label with >that text?
Here's an example of how you can do
exmple
step 1 You add a method Returns an DataTable
Public Function FillGridView() As DataTable
Dim dt As New DataTable
Using cn As New SqlConnection("conection")
Dim sql As String = "select * from tabla where campo =@valor"
Dim cmd As New SqlCommand(sql, cn)
cmd.Parameters.AddWithValue("@valor", valor)
cn.Open()
Dim da As New SqlDataAdapter(cmd)
Try
da.Fill(dt)
Catch ex As Exception
Finally
cn.Close()
End Try
End Using
Return dt
End Function
step 2 Where we call the method FillGridView
Dim dts As DataTable
dts = FillGridView()
If dts.Rows.Count > 0 Then
With Me.GridView1
.DataSource = dts
.DataBind()
End With
End If
greeting
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.