В С#, как я все еще показываю заголовки gridview, даже если источник данных пуст.
Я не создаю автоматически столбцы, поскольку все они предопределены.
В настоящее время я делаю следующее.
Возвратите DataTable из хранимой процедуры, затем установите DataSource в gridview, а затем вызовите DataBind().
Это отлично работает, когда у меня есть данные, но когда никакие строки не возвращаются, я просто получаю пустое место, где должна быть сетка.
Изменить: Спасибо всем за свойство .NET 4+. Я спросил об этом в .NET 3.5 днях. Теперь это намного проще.:)