怎样动态控制SqlDataSource?请前辈指导!小弟先感谢了!
本帖最后由 salecn 于 2012-10-28 11:22:35 编辑
环境:vs2010+c#+GridView+SqlDataSource,拖拽了1个GridView;又拖拽了1个Sqldatasource不断点下一步建数据源为(SELECT [考生号], [学号], [性别], [民族], [政治面貌], [出生日期], [学校], [学院], [专业], [班级], [Id] FROM [xsmd])。
目的:登录的管理人员是哪个学院的,就只显示本学院的数据,然后进行编辑、修改。如:A学院登录人员就只能看到A学院的数据,B学院登录人员就只能看到B学院数据.......
问题:想动态控制数据源。如:管理人员登录系统后,学院的变量是“xy”,就只显示 select * from xsmd where 学院=xy 的数据。
开发的截图如下:
------解决方案--------------------<SelectParameters>
<asp:SessionParameter Name="userid" SessionField="userid" />
</SelectParameters>
设置SelectCommand
------解决方案--------------------登录后重新设置SqlDataSource的selectcommand
比如SqlDataSource的id是SqlDataSource1:
this.SqlDataSource1.SelectCommand="新的sql语句";
------解决方案--------------------你这么做的程序 有意义吗, 懒的连 代码都 不写,如果去公司工作,没有人会用你的, 。
直接 给 DataSource 指定 CommandText。 就OK了,
------解决方案--------------------随便搜一下:
http://www.cnblogs.com/luforever/articles/575953.html
http://eddie005.cnblogs.com/archive/2006/06/26/DeclarativeParameters.html
------解决方案--------------------http://technet.microsoft.com/zh-cn/system.web.ui.webcontrols.sqldatasourceview.selectparameters
------解决方案--------------------这没什么值得关注的地方 LZ只需要了解一下后置代码是如何绑定数据源的就可以 用拖拉拽 是实现不了的
后置代码 根据登陆传入的request.QuestString 参数 替换数据数据库语句 在page_load时间中根据数据库语句再进行数据绑定就可以了
------解决方案--------------------写应用软件的话,不是关键而且复杂的代码,建议是越简单的技术越好。
------解决方案--------------------
添加模版列,编辑模版列的EditTemplate,在里面拖一个DropdownList并绑定数据。