グリッドにバインドされたデータソースが空であっても、グリッドビューのヘッダを表示したいですか? BLANK行を追加せずに同じことを達成する方法はありますか?グリッドビューasp.netデータなしの場合のヘッダの表示
1
A
答えて
0
最も簡単な方法は、GridView
クラスを継承する独自のGridViewを作成することです。次に、CreateChildControls
メソッドをオーバーライドして新しい空のテーブルを作成します。このような
何か作業をする必要があります:(彼らは有効になっている場合)、それは、あなたはヘッダー行とフッター行を作成していない場合
protected GridViewRow _footerRow2;
protected GridViewRow _headerRow2;
protected override int CreateChildControls(System.Collections.IEnumerable dataSource, bool dataBinding)
{
// Call base method and get number of rows
int numRows = base.CreateChildControls(dataSource, dataBinding);
if (numRows == 0)
{
//no data rows created, create empty table
//create table
Table table = new Table();
table.ID = this.ID;
//convert the exisiting columns into an array and initialize
DataControlField[] fields = new DataControlField[this.Columns.Count];
this.Columns.CopyTo(fields, 0);
if (this.ShowHeader)
{
//create a new header row
_headerRow2 = base.CreateRow(-1, -1, DataControlRowType.Header, DataControlRowState.Normal);
this.InitializeRow(_headerRow2, fields);
_headerRow2.EnableTheming = true;
table.Rows.Add(_headerRow2);
}
if (this.ShowFooter)
{
//create footer row
_footerRow2 = base.CreateRow(-1, -1, DataControlRowType.Footer, DataControlRowState.Normal);
this.InitializeRow(_footerRow2, fields);
_footerRow2.EnableTheming = true;
table.Rows.Add(_footerRow2);
}
this.Controls.Clear();
this.Controls.Add(table);
}
return numRows;
}
基本的に、あなたはGridViewコントロールが行を持っているかどうかを確認して。
EDIT:また
、あなたはまだEmptyDataTextを表示したい場合、あなたは、ヘッダーとフッターの作成わたってるしき、これらの行を追加することができます。 ASP.NET 4のよう
GridViewRow emptyRow;
if (this.EmptyDataTemplate != null)
{
emptyRow = this.Controls[0].Controls[0] as GridViewRow;
}
table.Rows.Add(emptyRow);
0
、あなたはtrue
へのGridViewのShowHeaderWhenEmpty
プロパティを設定することができます。
関連する問題
- 1. グリッドビューにデータを表示
- 2. グリッドビューに表示するXMLデータのフォーマット
- 3. グリッドビューの再表示
- 4. ルックアップフィールドのグリッドビュー表示
- 5. データが存在しない場合の月の値の表示SQL Server
- 6. 親ビュー/子データをグリッドビューに表示
- 7. グリッドビューでデータをページ単位で表示
- 8. グリッドビューにデータを表示する方法
- 9. リストビュー、グリッドビューで動的データを表示
- 10. ASP.Netグリッドビューのデータ埋め込み問題
- 11. グリッドビューで2つのテーブルのデータを表示する方法は?
- 12. グリッドビューの列を行として表示
- 13. ヘッダがない場合、nginxの要求を拒否します。
- 14. グリッドビューで親オブジェクトの属性を表示する方法は? ASP.NET
- 15. データがない場合でもレポートを表示する
- 16. データソースでデータが返されない場合のYUI円グラフの表示
- 17. Facebookのコメントが0の場合divを表示しない
- 18. ASP.NETアプリケーションでのデータの動的表示
- 19. グリッドビューに大量のデータを表示する方法
- 20. グリッドビューのヘッダーと行のサイズが大きい場合レコードが少ない場合、行が多い場合は
- 21. テーブルの列にデータがない場合にメッセージボックスを表示するコード
- 22. iPad/iPhoneの場合は表示しない
- 23. パネルが表示されない場合
- 24. データベースにレコードがない場合、「表示」?
- 25. 階層的なデータ照合と表示
- 26. ASP.netの奇妙なグリッドビューの動作
- 27. 高度なASP.NETのグリッドビューのレイアウト
- 28. viewForHeaderInSection - すべての場合に適切に表示されるヘッダを作成します。
- 29. PHPの場合は非表示ボタン!=セッション
- 30. そうでない場合は、テキスト表示、リンクを表示
あなたはそのようにしたいのですが...ヘッダーだけで空のgridviewを表示していますか? –
データソースが空の場合、空白スペースを表示する必要があります(「No Items Found」というテキストが表示されている可能性があります)。彼/彼女はそれを理解できません。 – Rauf
私は同意します。データがない場合でも列ヘッダーを表示することは時々役に立ちます。 – Jamie