C# winform 如何实现两个下拉框相关,即第一个选择季度,第二个显示的是对应季度的三个月
3个回答
展开全部
第一个季度的下拉框SelectIndexChanged事件里写:
string[] arr;
switch(combobox1.Text){
case "1":
arr = new string[]{"1月","2月","3月" };
break;
case "2":
arr = new string[]{"4月","5月","6月" };
break;
case "3":
arr = new string[]{"7月","8月","9月" };
break;
default :
arr = new string[]{"10月","11月","12月" };
break;
}
combobox2.Items.Clear();
foreach(string i in arr){
combobox2.Items.Add(i);
}
至于sql里实现月 季度查询,SqlServer有个DatePart函数,可以获取DateTime类型的月部分或季度部分,如:where DatePart(m,字段名)=3
参考:http://www.w3school.com.cn/sql/func_datepart.asp
string[] arr;
switch(combobox1.Text){
case "1":
arr = new string[]{"1月","2月","3月" };
break;
case "2":
arr = new string[]{"4月","5月","6月" };
break;
case "3":
arr = new string[]{"7月","8月","9月" };
break;
default :
arr = new string[]{"10月","11月","12月" };
break;
}
combobox2.Items.Clear();
foreach(string i in arr){
combobox2.Items.Add(i);
}
至于sql里实现月 季度查询,SqlServer有个DatePart函数,可以获取DateTime类型的月部分或季度部分,如:where DatePart(m,字段名)=3
参考:http://www.w3school.com.cn/sql/func_datepart.asp
更多追问追答
追问
呃,是我看的太不仔细了么。。SLQ实现季度查询时候 WHERE语句应该怎么写呢?
追答
where DatePart(m,字段名)=3 是按月
where DatePart(q,字段名)=3 是按季度
展开全部
为第一个下拉框绑定选择事件,选中一个值后,更新第二个下拉框显示对应的值即可。
查询月:SELECT month(getdate())
查询月:SELECT month(getdate())
追问
呃。。。求类似代码哇亲。。这个方向大体知道,就是具体代码根本不会啊
追答
string[] quarter = { "第一季度", "第二季度", "第三季度", "第四季度" };
string[] month = { "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "二十月" };
public Form1()
{
InitializeComponent();
foreach (String item in quarter)
comboBox1.Items.Add(item);
comboBox1.SelectedIndex = 0;
}
privatevoid comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
switch (comboBox1.SelectedIndex)
{
case 0:
comboBox2.Items.Clear();
for (int i = 0; i < 3; i++)
comboBox2.Items.Add(month[i]);
break;
case 1:
comboBox2.Items.Clear();
for (int i = 3; i < 6; i++)
comboBox2.Items.Add(month[i]);
break;
case 2:
comboBox2.Items.Clear();
for (int i = 6; i < 9; i++)
comboBox2.Items.Add(month[i]);
break;
case 3:
comboBox2.Items.Clear();
for (int i = 9; i < 12; i++)
comboBox2.Items.Add(month[i]);
break;
}
comboBox2.SelectedIndex = 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据少的话用switch判断,否则把数据写到xml中,然后读取xml中的数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询