双下拉菜单和数据源问题.

ssy888 2007-05-01 08:50:14
有一表有如下几列,例如:
列1 列2 列3 年 月

年绑定到了下拉菜单1, 月绑定到下拉菜单2

现在要把列1到列3的内容通过配置数据源控件放gridview里.当然,是要可以通过下拉菜单1和2过滤特定的年份或者月份的.

根据特定的年和月查询没问题.SelectCommand="SELECT * FROM [Events] WHERE (([EYear] = ?) and ([EMonth] = ?))"

但是想查询返回特定一年中所有月份的内容就有问题了.怎么实现?我试了下改成or 还有不把月和年关联都失败了.

或者有无办法能把gridview动态绑定两个数据源?当我选年的时候,返回所有月份在那一年的资料.当我选了年和月的时候反回特定年和特定月的资料到gridview里.



...全文
201 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ssy888 2007-05-01
  • 打赏
  • 举报
回复
结贴了.
dddd218 2007-05-01
  • 打赏
  • 举报
回复
你可以根据情况动态的给数据源控件的SelectCommand属性赋不同的sql不就行了。

如果不行,呢最省脑筋的办法就是创建2个数据源控件,根据情况绑定哪一个。

ssy888 2007-05-01
  • 打赏
  • 举报
回复
恩,但是后台cs没写这部分代码.完全是2.0里控件拖出来的.数据源控件在前台好象不能使用这样的条件语句.
dddd218 2007-05-01
  • 打赏
  • 举报
回复
或者有无办法能把gridview动态绑定两个数据源?
**************************
当然可以,你在页面定义多个ObjectDataSoure控件,然后在相应的事件中给gridview动态绑定哪个ObjectDataSoure控件,比如gridview.DataSourceID = "ObjectDataSoure1";,如果想改变为绑定第二个则gridview.DataSourceID = "ObjectDataSoure2";

但是,你这个问题不需要使用两个ObjectDataSoure控件,你只要在你的sql查询语句中根据情况把两种情况都考虑进去就行了(当我选年的时候,返回所有月份在那一年的资料.当我选了年和月的时候反回特定年和特定月的资料到gridview里),大致思想可以这样:
如果没有选月份(月份为空),那么根据年份查询;如果选了月份,那么根据(年份+月份)查询
string sql;
if(月份==null)
sql="SELECT * FROM [Events] WHERE [EYear] = @year";
else
sql="SELECT * FROM [Events] WHERE [EYear] = @year AND [EMonth]=@month;
bingchener 2007-05-01
  • 打赏
  • 举报
回复
帮顶!
ssy888 2007-05-01
  • 打赏
  • 举报
回复
是不是该用join写.

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧