在datagrid中绑定了模板列显示数据,怎么实现根据用户权限显示相应列内容呢?

时间:2021-11-22 16:20:20
有个客户资料表,是用datagrid绑定模板列来显示的,部门经理能看到本部门所有的客户资料,但不能编辑除自己以外的客户资料,就是说虽然能看到本部门所有资料,但不能编辑别人的,只可以编辑自己的,“编辑”是绑定在模板列上,链接到别的页面,请问如何当客户所有者是自己时显示绑辑,而所有者是别人时,不显示编辑呢?谢谢

11 个解决方案

#1


根据不用的SQL结果来进行绑定。

如果是别人在看自己的信息。“编辑”列的visible = false .比如datagrid.column[8].visible = false

#2



有这样一个思路:


首先你在绑定数据的时候所有的列都要绑定
然后在用户登陆成功之后系统应该知道当前登陆者的权限 
最后根据权限控制什么列可以显示 什么列不显示 "用visible"

#3


这个我明白,不过不是不显示列,因为列上有自己的内容,也有别人的内容,要根据客户拥有者,决定是不是显示"编辑"这个Label,这个如何实现?

#4


可以在点“编辑“按钮时判断吗,如果是自已的则链接过去,如果是别人的则给出提示,不链接。

#5


把你的列用一个下拉列表显示出来。

然后让用户进行选择。

提交后,.column[8].visible = false 就不显示了。

#6


可以根据客户的ID号进行判断是否显示

#7


根据客户的ID号?怎么判断?能举个例子吗

#8


up

#9


先在客户表中增加一个字段用去判断是否允许编辑,在page_load事件中就添加判断。
'控制已删除的联系单不能修改和查看
                Dim deleteflag As String = Request.QueryString("denyflag")
                If deleteflag = 1 Then
                    strdisp = "<script language='JavaScript'>alert('" + "本记录已不允许编辑!" + " ');</script>"
                    Page.RegisterStartupScript("warnings", strdisp)
                End If
再在编辑的页面中去判断是否允许编辑,不允许就返回一个到客户表页面并返回一个前面的denyflag参数,这只是一个思路供楼主参考

#10


楼上的我明白,但在客户列表页面中想实现若不是自己的用户,则隐藏“编辑”按钮,无法实现吗?

#11


解决了

#1


根据不用的SQL结果来进行绑定。

如果是别人在看自己的信息。“编辑”列的visible = false .比如datagrid.column[8].visible = false

#2



有这样一个思路:


首先你在绑定数据的时候所有的列都要绑定
然后在用户登陆成功之后系统应该知道当前登陆者的权限 
最后根据权限控制什么列可以显示 什么列不显示 "用visible"

#3


这个我明白,不过不是不显示列,因为列上有自己的内容,也有别人的内容,要根据客户拥有者,决定是不是显示"编辑"这个Label,这个如何实现?

#4


可以在点“编辑“按钮时判断吗,如果是自已的则链接过去,如果是别人的则给出提示,不链接。

#5


把你的列用一个下拉列表显示出来。

然后让用户进行选择。

提交后,.column[8].visible = false 就不显示了。

#6


可以根据客户的ID号进行判断是否显示

#7


根据客户的ID号?怎么判断?能举个例子吗

#8


up

#9


先在客户表中增加一个字段用去判断是否允许编辑,在page_load事件中就添加判断。
'控制已删除的联系单不能修改和查看
                Dim deleteflag As String = Request.QueryString("denyflag")
                If deleteflag = 1 Then
                    strdisp = "<script language='JavaScript'>alert('" + "本记录已不允许编辑!" + " ');</script>"
                    Page.RegisterStartupScript("warnings", strdisp)
                End If
再在编辑的页面中去判断是否允许编辑,不允许就返回一个到客户表页面并返回一个前面的denyflag参数,这只是一个思路供楼主参考

#10


楼上的我明白,但在客户列表页面中想实现若不是自己的用户,则隐藏“编辑”按钮,无法实现吗?

#11


解决了