2009-07-30 3 views

ответ

1

Используйте команду <EmptyDataTemplate> элемента управления GridView для определения таблицы, которая будет отображаться, если источник данных не содержит данных. Например

<EmptyDataTemplate> 
    <table class="Standard" cellspacing="0" cellpadding="0"> 
     <tr> 
      <th style="width: 25%;"> 
       Header 1</th> 
      <th style="width: 25%;"> 
       Header 2</th> 
      <th style="width: 25%;"> 
       Header 3</th> 
      <th style="width: 25%;"> 
       Header 4`</th> 
     </tr> 
     <tr> 
      <td style="text-align: center; font-size: 1em; font-style: italic; padding: 1em 1em 1em 1em;" 
       colspan="4"> 
       --- No results found --- 
      </td> 
     </tr> 
    </table> 
</EmptyDataTemplate> 
0

Вы можете использовать эту маленькую функцию:

public static void ShowNoResultFound(DataTable source, GridView gridView) 
    { 
     DataTable t = source.Clone(); 
     foreach (DataColumn c in t.Columns) 
      c.AllowDBNull = true; 
     t.Rows.Add(t.NewRow()); 
     gridView.DataSource = t; 
     gridView.DataBind(); 
     gridView.Rows[0].Visible = false; 
     gridView.Rows[0].Controls.Clear(); 
    } 

А потом, когда вы получаете данные из SQL или другого источника данных Вы можете сделать это:

if (dSet.Tables[0].Rows.Count > 0) 
{ 
    GridView1.DataSource = dSet.Tables[0]; 
    GridView1.DataBind(); 
} 
else 
{ 
    ShowNoResultFound(dSet.Tables[0], GridView1); 
} 
Смежные вопросы