如果Gridview现在返回行X

时间:2014-01-02 14:54:12

标签: c# asp.net sql gridview if-statement

所以我正在构建一个将数据库查询到gridview中的应用程序(我正在使用C#webforms),而我使用的其中一个页面/查询通常不返回任何行。如果SQL语句将零行返回到gridview,是否有办法接近if / else语句或类似函数?我的代码如下。谢谢你们。

da1.SelectCommand = new SqlCommand(
"SELECT FROM WHERE ORDER BY", cs1);
//  CREATE PARAMETERS FOR THE ABOVE SQL COMMAND
da1.SelectCommand.Parameters.AddWithValue("@custtno", visitno);

//  CLEAR AND FILL THE DATASOURCE FOR THE GRIDVIEW
ds1.Clear();
da1.Fill(ds1);

//  POPULATE THE PATIENT MEDS DATAGRID
GridView_custHx.DataSource = ds1;
GridView_custHx.DataBind();

3 个答案:

答案 0 :(得分:2)

您可以这样做:

if(dataset.tables[0].rows.count!=0)
{
  bind your grid view here..
}
else
{
some other operation
}

希望这会有所帮助..

答案 1 :(得分:2)

您已经拥有了DataSet ds1,然后绑定到网格。

假设DataSet中只有一个表:

if (ds1.Tables[0].Rows.Count == 0)
{
    // no rows returned from the database, take some action
}
else
    GridView_custHx.DataSource = ds1;

答案 2 :(得分:0)

在代码中没有足够的信息来查看正在发生的事情。例如'ds1'是数据集,数据表还是其他什么?如果它是一个数据表,那么你不会在ds1.tables [0]找到一个表,因为它只有一个表。

假设它是一个数据集,那么Avinash的代码将起作用。如果它是一个数据表,那么只需将对数据集的检查更改为数据表:

if(ds1.Rows.Count != 0)
{
    GridView_custHx.DataSource = ds1;
    GridView_custHx.DataBind();
}
else
{
    Do Something else...
}