[DetailsView] 如何判斷 DetailsView 內容是否為 Empty

DetailsView 很適合和 GridView 搭配以展示 Master/Detail 表格式料。不過 DetailsView 和 GridView 不一樣,它雖然也有 Rows() 屬性可以使用,但你並不能使用 If DetailsView.Rows.Count = 0 來判斷它的內容是否為 Empty...

 

DetailsView 很適合和 GridView 搭配以展示 Master/Detail 表格式料。不過 DetailsView 和 GridView 不一樣,它雖然也有 Rows() 屬性可以使用,但你並不能使用 If DetailsView.Rows.Count = 0 來判斷它的內容是否為 Empty。

幸好還有別的方法,那就是使用 dv.DataKey.Value 來判斷,如果這個值是 Nothing/Null,表示 DetailsView 是空的。

以下是一個範例程式,寫在 DetailsView.DataBound 事件函式裡。如果它是 Empty,則將它的 Mode 改變成 Insert:

VB:


Protected Sub dv_DataBound(...) Handles dv.DataBound
   If dv.DataKey.Value Is Nothing Then
      dv.ChangeMode(DetailsViewMode.Insert)
   End If
End Sub

C#:

void dv_DataBound(...)
{   If (dv.DataKey.Value == null)
      dv.ChangeMode(DetailsViewMode.Insert);
}


Dev 2Share @ 點部落