iT邦幫忙

0

VS2013 控制項 Gridview 精靈多個參數設定?

小弟參照.NET書籍步驟設定Gridview 的Master-Detail主表明細
,拉出兩個Gridview控制項對應不同的SqlDataSource 控制項,書本上在精靈上只套用一種參數,我在Gridview使用選取模式,但是在參數部分我需要點選明細後可以將考勤的姓名與時間一起做篩選,但是我發現兩個參數設定好後,顯示結果出不來,不知道該如何用精靈修改呢?
PS:因小弟程式功力不好,希望只用精靈來完成就好,不知道是否精靈可以達成呢?感謝!

看更多先前的討論...收起先前的討論...
外獅佬 iT邦大師 1 級 ‧ 2015-12-22 17:26:47 檢舉
GridView1.SelectedValue 內容預設是選取由SqlDataSource1傳回來的key 值(資料庫裡頭定義的KEY),但是若查詢的結果不包含Key,則GridView1.SelectedValue所抓的內容會變成空值。
外獅佬 iT邦大師 1 級 ‧ 2015-12-22 17:27:50 檢舉
所以你要做的是....改datatable的定義:[name]+[attendance_date]定義為primary key
外獅佬 iT邦大師 1 級 ‧ 2015-12-22 17:29:50 檢舉
另外一個問題是,兩個參數都抓GridView1.SelectedValue...這樣是不行的

SELECT * From [TEST] where (([Name]= @Name) AND ([attendance_date]= @attendance_date))


因為姓名、日期欄位絕對不會兩個都等於GridView1.SelectedValue

外獅佬 iT邦大師 1 級 ‧ 2015-12-22 17:33:02 檢舉
GridView.SelectedValue
裡頭有提到:GridView 控制項中已選取資料列的資料索引鍵值。
外獅佬 iT邦大師 1 級 ‧ 2015-12-22 17:35:00 檢舉
最簡單的解法就是...設定DataKeyNames屬性開心
外獅佬 iT邦大師 1 級 ‧ 2015-12-22 17:37:31 檢舉
參數的部分改用SelectedDataKey
badboy01 iT邦新手 5 級 ‧ 2015-12-23 10:29:30 檢舉
wiselou提到:
SelectedDataKey

您好!大大說得很簡單明瞭,但是對我來好難喔@@",我先爬文有關大大說的部分該怎麼去拼湊起來QQ
badboy01 iT邦新手 5 級 ‧ 2015-12-23 10:36:50 檢舉
wiselou提到:
設定DataKeyNames屬性

請問這部分有資料可以參考嗎?
外獅佬 iT邦大師 1 級 ‧ 2015-12-23 11:01:43 檢舉
上頭的MSDN文件上就有了
badboy01 iT邦新手 5 級 ‧ 2015-12-24 09:47:49 檢舉
大大您好!如果我要將您選為最佳答案要怎麼做呢?
badboy01 iT邦新手 5 級 ‧ 2015-12-24 09:57:22 檢舉
後來使用SelectedDataKey來解決了~感謝!
外獅佬 iT邦大師 1 級 ‧ 2015-12-24 11:13:48 檢舉
原本不確定你的問題所在,所以在討論的地方寫了『可能』的問題
已經將回答『複製』到回答區了...樓主請便

2 個回答

4
外獅佬
iT邦大師 1 級 ‧ 2015-12-24 11:11:18
最佳解答

GridView1.SelectedValue 內容預設是選取由SqlDataSource1傳回來的key 值(資料庫裡頭定義的KEY),但是若查詢的結果不包含Key,則GridView1.SelectedValue所抓的內容會變成空值。

0
max_wu
iT邦新手 5 級 ‧ 2015-12-22 11:25:47

請問你的SqlDataSource2 是抓 ControlID="GridView1"

badboy01 iT邦新手 5 級 ‧ 2015-12-22 11:33:19 檢舉

您好!
我的name和attendance_date都是抓GridView1,然後執行結果在 GridView2 顯示。

badboy01 iT邦新手 5 級 ‧ 2015-12-22 16:54:28 檢舉

max_wu您好!
不太懂你說的意思?

badboy01 iT邦新手 5 級 ‧ 2015-12-23 09:44:32 檢舉

我的name和attendance_date都是在GridView2精靈設定抓取GridView1。

我要發表回答

立即登入回答