C# 如何在Gridview中显示未找到记录消息
我搜索了上面的问题,得到了很多答案,但没有一个答案对我有帮助。因此提出这个问题 我有一个有两个日期的gridviewC# 如何在Gridview中显示未找到记录消息,c#,asp.net,datagridview,C#,Asp.net,Datagridview,我搜索了上面的问题,得到了很多答案,但没有一个答案对我有帮助。因此提出这个问题 我有一个有两个日期的gridview 从 到 当我选择两个日期时,若两个日期之间的数据在数据库中可用,那个么它将显示在gridview上。如果数据不可用,则我想在标签上显示一条消息,即“未找到任何记录” 这是我的密码 myConn.Open(); SqlCommand cmd = new SqlCommand(@"select User_id , LoginDate from LoginLog where Log
标签上显示一条消息,即“未找到任何记录”
这是我的密码
myConn.Open();
SqlCommand cmd = new SqlCommand(@"select User_id , LoginDate from LoginLog where LoginDate between ('" + TextBox1.Text + "') and ('" + TextBox2.Text + "')", myConn);
DataTable dt = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter(cmd);
sda.Fill(dt);
GridView1.DataSource = dt;
if (GridView1.Rows.Count > 0)
{
GridView1.DataBind();
}
else
{
Lab4.Text = "No Records Found ";
}
myConn.Close();
将其添加到gridview控件中
EmptyDataText="No Records Found"
只需检查DataTable是否包含值
myConn.Open();
SqlCommand cmd = new SqlCommand(@"select User_id , LoginDate from LoginLog where LoginDate between
('" + TextBox1.Text + "') and ('" + TextBox2.Text + "')", myConn);
DataTable dt = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter(cmd);
sda.Fill(dt);
GridView1.DataSource = dt;
if (dt.Rows.Count > 0)
{
GridView1.DataBind();
}
else
{
Lab4.Text = "No Records Found ";
}
myConn.Close();
希望这有帮助。问候:)将此添加到您的ASPX文件中:
<asp:GridView ID="GridView1" runat="server" CellPadding="5" BorderStyle="Ridge" ShowHeaderWhenEmpty="true" EmptyDataText="No Records Found." EmptyDataRowStyle-ForeColor="Red">
myConn.Open();
SqlCommand cmd = new SqlCommand(@"select User_id , LoginDate from LoginLog where LoginDate between
('" + TextBox1.Text + "') and ('" + TextBox2.Text + "')", myConn);
DataTable dt = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter(cmd);
sda.Fill(dt);
GridView1.DataSource = dt;
if (dt.Rows.Count > 0)
{
GridView1.DataBind();
}
myConn.Close();
或者您可以看到此链接:
试试这个方法
if (dt.Rows.Count > 0)
{
GridView1.DataBind();
}
else
{
Lab4.Text = "No Records Found ";
}
myConn.Close();
private void Retrieve()
{
if(loadPositions() != null){
dgvEmployeePositions.DataSource = loadPositions();
}
else{
Lab4.Text = "No Records Found ";
}
}
private DataTable loadPositions()
{
DataTable dt = new DataTable();;
myConn.Open();
String q = "your query here";
MySqlCommand cmd = new MySqlCommand(q, connectionString);
MySqlDataReader r = cmd.ExecuteReader();
if(r.hasRows){
dt.Load(r);
return dt;
}
else{
return null;
}
}
。但是您必须为此调用DataBind()
,所以删除GridView1.Rows.Count>0
我有一个标签,它的id是Lab4,我想在该标签上显示消息,但标签在gridview之外我尝试了此代码,但现在我得到了正确的标签输出和gridview完整数据,即使数据在两个日期之间也不可用。请尝试(dt.Rows.Count>0){GridView1.DataBind();}或者{Lab4.Text=“未找到记录”;GridView1.visible=false;}现在,即使数据库中存在数据,Gridview也完全禁用。现在标签工作正常了,我要做的是通过SqlDaraReader检索数据。编写单独的函数来检索数据并返回数据表。将该数据表分配给datagridview.Source。改为使用dataGridView.dataBind使用该方法检查我的新答案