2013-01-10 35 views
0

我們有一個用於驅動表單視圖的元素列表。通常結果集在5-15條記錄之間。現在在表單視圖中,我們有典型的第一個/上一個/下一個/最後一個導航。問題是,有時用戶需要直接轉到特定記錄進行編輯。這裏的記錄是具有一些相當簡短的描述的工作任務。FormView中的導航網格

這個想法是爲了在窗體視圖內部放置一個gridview,列出該窗體的所有記錄,用戶可以選擇查看或編輯該記錄,並直接導航到該記錄並將其放入適當的模式。我們也可以把它放在窗體視圖之外,這並不重要。

問題是,無論驅動力如何,我如何告訴formview去記錄從外部網格驅動的X.

我知道formview有DataKeyNames字段,但有沒有辦法說「去記錄誰是PK是17」,因爲它在當前的formview數據集?

如果是這樣,有沒有人有任何樣品的C#代碼呢?我知道我們可以用一條記錄來填充現有的formview,但我們也希望保留正常的導航按鈕,以及事件中(有時候會出現數百個工作任務的情況,在這種情況下, d壓制網格視圖 - 聽起來不對,但商業案例更多)。

回答

0

這個簡短的解決方案是將網格嵌入到FormView ItemTemplate中,並引用兩者的相同數據源。

要使行可編輯,您需要在網格中對RowDataBound進行簡單回調,在該網格中您將檢索鏈接按鈕(或者您用來觸發編輯的任何控件),然後將命令參數設置爲rowindex 。之後,您需要獲取將檢索命令參數(也是行索引)的鏈接按鈕(或觸發器)的回調,然後將FormView PageIndex設置爲該值,然後將FormView的ChangeMode設置爲FormViewMode。編輯。

回想一下,對於只讀視圖來說,它是一個包含所有項目的網格,但是當處理編輯或插入時,您將獲得傳統的表單視圖。