WebHierarchicalDataGrid™ には、データ ソースに行がない場合に表示されるカスタム表示をエンドユーザーに提供するために使用できる空の行テンプレートがあります。すべてのテンプレートと同様、カスタム メッセージをエンドユーザーに提供するために空のテンプレート内にコントロールを配置できます。
コントロールのスマート タグをクリックしてテンプレートの編集を選択することで、デザイン タイムに空の行テンプレートを設定できます。表示ドロップダウン リストから空の行テンプレートを選択します。これでコントロールを空の行テンプレート表面にドラッグできます。
以下のコードは、WebHierarchicalDataGrid がバインドされているが行がない場合にエンドユーザーにメッセージを表示するカスタム テンプレートの作成方法を示します。テンプレートの作成と同様、ITemplate インターフェイスを実装するクラスが必要です。
Visual Basic の場合:
Protected Overloads Overrides Sub OnInit(ByVal e As EventArgs) MyBase.OnInit(e) 'テンプレートはポストバックごとにインスタンス化される必要があります Me.WebHierarchicalDataGrid1.EmptyRowsTemplate = New CustomEmptyRowsTemplate() End Sub Private Class CustomEmptyRowsTemplate Implements ITemplate #Region "ITemplate Members" Public Sub InstantiateIn(ByVal container As Control) Implements ITemplate.InstantiateIn Dim label1 As New System.Web.UI.WebControls.Label() label1.Text = "データ ソース内のレコードがありません。" label1.ID = "Label1" container.Controls.Add(label1) End Sub #End Region End Class
C# の場合:
protected override void OnInit(EventArgs e) { base.OnInit(e); //テンプレートはポストバックごとにインスタンス化される必要があります this.WebHierarchicalDataGrid1.EmptyRowsTemplate = new CustomEmptyRowsTemplate(); } private class CustomEmptyRowsTemplate : ITemplate { #region ITemplate Members public void InstantiateIn(Control container) { System.Web.UI.WebControls.Label label1 = new System.Web.UI.WebControls.Label(); label1.Text = "データ ソース内のレコードがありません。"; label1.ID = "Label1"; container.Controls.Add(label1); } #endregion }