我正在做一個報表,根據一些搜索參數在網格視圖中顯示記錄。在這一個搜索過濾器是下拉與年值。下降應該包含從2000年到今年的年份。如果年份發生變化,它應該在下一年自動綁定。 我該如何做到這一點?綁定一個下拉框
綁定一個下拉框
回答
可能我不理解你的問題吧,但看起來你只是'約束'一個簡單的下降到一些年的價值。如果是這樣的話,我會把以下到您的Page_Load
if (!IsPostBack)
{
for(int i = 2000, i <= DateTime.Now.Year; i++)
{
MyDropDownList.Items.Add(i.ToString());
}
//Select the current year initially
MyDropDownList.SelectedIndex = MyDropDownList.Items.Count - 1;
}
//Later on in your Page_Load
MyGridView.DataSource = MyMethodOfFetchingData(MyDropDownList.SelectedValue);
MyGridView.DataBind();
在這一點上,你需要檢索數據時顯示使用MyDropDownList.SelectedValue。編輯: 添加當前年份的默認選擇。
利用Date.Today,你需要給我們一些更多的信息,但是在vb.net/C#中有很多引用當前年份的變量。
Me.MyDropDownList.Items.FindByValue(CTYPE(Today.Year,字符串))。選擇=真
[編輯部分]
以上是將值綁定到當前的年份。只是注意,這可能是值得的歲月存儲在數據庫中從2000年開始,直到說出一些最大數量,然後中檢索行:
SELECT TheYear FROM YourTable WHERE TheYear <= YEAR(GetDate())
,將返回2000,直到今年。這將使您的代碼可以重用,然後將行綁定到某些數據集或數據控件。它還可以避免在頁面加載事件中出現循環。
只是有些想法!
我完全知道你在說什麼,但我認爲這是接近:
基本上有3個組成部分
ASP:DropDownList的ID = 「DDL1」 ASP:SqlDataSource的 ASP :GridViewControl
將數據源配置爲在WHERE子句中使用ddl1.SelectedValue。 (參數資料來源:控制值= ddl1.SelectedValue)
綁定網格視圖的數據源
在這一點上,最簡單的方式來獲得你想要的是對DDL1啓用的AutoPostBack,並讓魔術發生本身。
是否有任何類來實現這個? – susanthosh 2009-10-01 15:01:31
Autopostback將導致頁面刷新,並且數據綁定應該自動進行控制。您不需要編寫任何代碼,只需在設計器中配置屬性即可。 – 2009-10-01 15:59:56
- 1. 綁定下拉?
- 2. 綁定下拉
- 3. 在ASP.Net C中綁定下拉與另一個下拉列表#
- 4. 綁定文本框像下拉列表
- 5. ASP.Net下拉框中的數據綁定
- 6. 綁定到下拉
- 7. 通過一個主下拉框控制多個下拉框
- 8. 上一個下拉框
- 9. 不綁定第一次下拉
- 10. 綁定一年的下拉菜單
- 11. 根據第一個下拉框中的選定選項加載下拉框
- 12. 綁定多個下拉菜單和文本框
- 13. vb.net - 多個數據綁定下拉框中的不同值?
- 14. 從另一個下拉框中選擇一個選項後顯示一個特定的下拉框
- 15. 如何綁定多個下拉列表
- 16. 綁定下拉選定的值到一個模型屬性
- 17. 綁定下拉列表
- 18. 在MVC綁定下拉2.0
- 19. 綁定下拉列表
- 20. 綁定下拉列表值
- 21. 綁定KendoUi下拉列表
- 22. 下拉列表綁定
- 23. 綁定下拉使用JQuery
- 24. MVC下拉列表綁定取決於另一個下拉列表的值
- 25. 在.NET中綁定一個ListItem到多個下拉表格
- 26. AngularJS將多個下拉列表綁定到一個值
- 27. 更新數據綁定下拉列表控件時,另一個數據綁定的下拉列表改變
- 28. 如何綁定「選擇項目」下拉框作爲第一個項目
- 29. 下拉在一個下拉
- 30. 無法ViewData的綁定到一個下拉列表
嗨,感謝您的回覆。我如何在C#中訪問此值?因爲我必須發送這個作爲搜索參數 – susanthosh 2009-10-01 14:48:37
這是好朋友。但是你沒有爲數據項分配任何值。只需添加文本值即可。那麼我們如何使用.SelectedValue屬性? – susanthosh 2009-10-01 14:56:03
MyDropDownlist.Items.FindByValue(Today.Year.ToString())。Selected = True; 我在下面提到它。 – JonH 2009-10-01 14:57:08