首页 > 解决方案 > dataGridView 搜索中的条件语句

问题描述

我有一个 dataGridView,它填充了从 button_Click 上的查询返回的数据。如果查询没有返回任何结果,我想显示一个这样说的 MessageBox。

有没有办法检查 dataGridView 是否为空?

 private void SrchONeg_Click(object sender, EventArgs e)
        {
            SqlConnection cs = new SqlConnection(@"Data Source=DESKTOP-112OILD\SQLEXPRESS;Initial Catalog=DDK;Integrated Security=True");
            String query = "SELECT * FROM Davaoci WHERE DatumPoslednjegDavanja >= DATEADD(month, CASE WHEN Pol = 'M' THEN -3 ELSE -4 END, GETDATE()) AND KrvnaGrupa = 'ONeg' ORDER BY DatumPoslednjegDavanja ASC";
            SqlCommand SearchONeg = new SqlCommand(query, cs);
            SqlDataAdapter SearchONegDA = new SqlDataAdapter(SearchONeg);
            DataTable SearchONegDT = new DataTable();
            SearchONegDA.Fill(SearchONegDT);
            DgPretraga.DataSource = SearchONegDT;
        }

标签: c#sqlvisual-studiowinforms

解决方案


如果 DataTable 本身没有填充,为什么还要让它尝试填充你的 DataGridView?

if(SearchONegDT.Rows.Count > 0)
{
 DgPretraga.DataSource = SearchONegDT;
}

这样,您甚至可以在尝试填充 datagridview 之前检查您的数据是否存在。

if(SearchONegDT.Rows.Count > 0)
{
 DgPretraga.DataSource = SearchONegDT;
}
else 
{
 // Your Message
}

推荐阅读