Как насчет:
If ds.Tables("Orders").Rows.Count = 0 Then
lblNoResults.Visible = True
DataGridView1.Visible = False
Else
lblNoResults.Visible = False
DataGridView1.DataSource = ds.Tables("Orders")
'Anything else you need to do
DataGridView1.Visible = True
End If
lblNoResults
бы ярлык с текстом что-то вроде «результатов не найдено», что вы бы отобразить вместо вашего DataGridView.
В принципе, не привязывайте источник данных, если в нем нет строк.
Возможно, в вашем другом коде есть ошибки, вызывающие вашу конкретную проблему. Если вы хотите показать больше своего кода, тогда будет легче сказать, что происходит не так.
Благодарим вас за консультацию – johnny