2012-03-19 82 views
2

我想做一個非常簡單的asp.net頁面,它使用具有可編輯行的Linq2SQL綁定GridView。我基本上想添加2個ButtonFields,「編輯」和「刪除」。單擊刪除時,該行被刪除,單擊編輯時,每個自動生成的列變爲文本框並且可編輯,並出現一個新的「保存」按鈕。當點擊「保存」按鈕時,頁面被重新加載並且編輯的條目在數據庫中更新。我並不擔心錯誤檢查或任何奇怪的事情,我只想要一種快速編輯表格的方法。可編輯的GridView與自動生成的列

我試圖讓這個普通的,這樣我可以用一個DropDownList編輯任何表:

grd.DataSource = db.GetTable(ddlTable.SelectedItem.Text); 
grd.DataBind(); 

<asp:GridView id="grd"> 
<Columns> 
<asp:ButtonField id="edit" Text="Edit"/> 
<asp:ButtonField id="delete" Text="Delete"/> 
</Columns> 
</GridView> 

我想我有兩個主要問題:

1)是否有可能做到這一點AutoGenerateColumns =「true」,這樣每個表格都可以編輯而不必爲每個表格進行硬編碼?

2)有沒有一種直接的方式來做到這一點與內置的GridView事件,而無需編寫自定義控件?我並不反對最終使用自定義控件,但如果需要,我想自己寫這個;在這一點上,我有點想避免這種情況。

回答

2

1)GridView具有可以設置爲true的「AutoGenerateDeleteButton」和「AutoGenerateEditButton」屬性。

2)使用DataSource綁定網格(可能是LinqDataSource)。通過這種方式,您可以指定編輯中發生的情況,並直接從模型中刪除事件。它也會給你內置的分頁/排序。