1. 拉控制項
拉一個SqlDataSource,一個GridView,一個DetailsView
設定好資料庫連線(步驟略)
2.設定SqlDataSource (除錯也來這裡除)
要照以下設定
SELECT依序點出所有欄位
UPDATE依序點出所有欄位,主鍵在SET取消勾勾,在篩選Filter上打問號,其他在New Value上打問號
DELETE依序點出主鍵欄位,在篩選Filter上打問號
(篩選沒弄好會導致全部修改或全部刪除,SET沒取消勾勾會無法修改)
3.設定GridView & DetailsView
確認DataKeyNames的值,是否為當前的主鍵(通常是流水自動編號)
照圖把Edit和Delete鍵叫出來
DetailsView要注意DefaultMode是甚麼模式,和對應的AutoGenerateXXXButton有沒有打開
這裡例子是DefaultMode=Insert新增模式,AutoGenerateInsertButton=True
4. 程式測試看有無錯誤
這時候應該GridView和DetailsView都可以使用了
(這裡沒有做資料驗證,請打入適當型態的資料)
進階,條列式的資料用DropDownList做顯示
1. 拉控制項
除了之前的SqlDataSource1以外,再拉一個SqlDataSource,抓條列資料給DropDownList
2. GridView的特定欄位變更成手動樣版模式
把原本的Textbox換成DropDownList
3. DropDownList設定SqlDataSource
display和value不要搞反
4. DropDownList設定資料綁定
再來設定資料綁定,讓DropDownList能和GridView溝通
選擇原來SqlDataSource1中的類型編號(Forign Key,欲修改的地方)
(DetailsView的欄位也請如法炮製,當然還可以做延伸)
5.程式測試看有無錯誤
6.修正顯示模式,讓新增資料按鈕起作用
按下新增資料,跳出DetailsView,隱藏GridView
新增完資料,跳出GridView,隱藏DetailsView
按鈕雙點叫出Button1.Click事件
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click DetailsView1.Visible = True GridView1.Visible = False End Sub |
DetailsView按下事件鈕(閃電形狀),在ItemInserted這行右半側雙點
叫出DetailsView1.ItemInserted事件
Protected Sub DetailsView1_ItemInserted(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DetailsViewInsertedEventArgs) Handles DetailsView1.ItemInserted DetailsView1.Visible = False GridView1.Visible = True End Sub |
SQL中的?是VS2008中特有的參數設定,也可以是@變數名,在SELECT中有?,會另外詢問你如何定義參數
INSERT新增和UPDATE更新的?的意思是,新增和更新模式下的文字框(使用者會輸入)的內容,所以不會詢問
詢問的視窗
做為TextBox1的值
還有其他進階設定供參考
另一個做sqlDataSource做法
此例是把文字框資料帶入SQL裡的LIKE中,比對查詢電影名稱的其中字串
留言列表