C#怎么实现下拉框动态绑定数据

如题,做查询功能,需要按年度查询,有两个下拉框,第一个下拉框是查询的起始年份,第二个下拉框是截止年份,其最大值只能取到当前年份,查询结果是在这两个年份之间所有满足条件的数据。请问该怎么动态绑定这两个下拉框,忘高手指点

1、首先,新建一个Winform窗体应用程序,然后在界面上,放置一个下拉框。

2、在CS类里面编辑代码,为下拉框绑定值,用来显示效果,为了直观,尽量把数据放多一些,如下所示。

3、回到form界面,选中下拉框,在属性面板中,选择属性DropDownHeight,这个属性就是这只下拉框的高度的属性。

4、首先,设置下拉框的高度为200,然后,我们调试程序,看看显示效果。

5、然后,关闭界面,把这个属性的值设置为100。

6、设置完毕后,再重启下看看效果,这是界面显示如下。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-01

两种方法:

1. 绑定数据源:

comboBox1.DataSource=ds.Tables[0];
comboBox1.DisplayMenber="字段名";
comboBox1.Text="初始化值";

2. 添加删除记录方法:

//添加
for(int i=0;i<list.Count;i++)
{
   comboBox1.Items.Add(list[i]);

//删除
comboBox1.Items.RemoveAt(Index);

第2个回答  2011-08-16
我理解的比较简单:是不是说从一个表里根据时间查询一个时间段里的数据,而截止时间不能超过当前时间,是不是这个意思追问

嗯,就是这个意思。

追答

可以循环年份到当前年份终止,保存到list再绑定到dropdownlist里,
for(int i =1900;i<当前年份,i++)
当前年份:DateTime.Now.ToString("yyyy")

追问

嗯,想法应该可行,可以给出简单代码不能,怎么绑定。

追答

IList years = new List();
int nowYear = Convert.ToInt32(DateTime.Now.ToString("yyyy"));
for (int i = 1900; i < nowYear; i++)
{
years.Add(i);
}

if (years != null)
{
this.DropDownList1.DataSource = years;
this.DropDownList1.DataBind();
}

第3个回答  2011-08-16
直接让人家输入年份比选择可能还方便点
第4个回答  2011-08-16
用第一个下拉框DropDownList1的SelectedIndexChanged事件绑定第二个下拉框的数据
相似回答