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); }