设置Datagridview的总个列的视觉值为*****真实值隐藏掉

wwwiii520 2011-03-25 01:01:14
就是把没有权限的列值让用户看不到,显示成********
...全文
126 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq514418353 2011-03-26
  • 打赏
  • 举报
回复
挺4楼
nishierzhizhu 2011-03-25
  • 打赏
  • 举报
回复
比如原来有012345列,楼主想让没有权限的用户看不到第5列,显示成********
那么添加第6列,设置显示内容为********
程序运行时判断,如果用户有权限则第5列visible为true第6列visible为false
如果用户无权限则第5列visible为false,第6列visible为true

不知道这样说楼主明白没
熙熙 2011-03-25
  • 打赏
  • 举报
回复
根据权限获取不显示真实值的列名放到一个集合里面
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (this.dataGridView1.Columns[e.ColumnIndex].Name=="要显示为*的列名" && e.Value!=null && e.Value.ToString().Length>0 && 该列在上面获取的集合里面)
{
e.Value = new string('********',e.Value.ToString().Length);
}
}

Just4life 2011-03-25
  • 打赏
  • 举报
回复
你应该是先判断相应的用户权限,没有权限读取的列,就显示为*
  • 打赏
  • 举报
回复
直接添加一个隐藏列,根据权限来判断,或者直接把值显示为*
nishierzhizhu 2011-03-25
  • 打赏
  • 举报
回复
在设计的时候多加一列,显示为*****,这样根据权限判断,设置对应列的visible值
  • 打赏
  • 举报
回复
取数据时的按用户权限来少取某些列
要是已经取了所有数据,就按权限来Filter一下,再绑定
或者绑定后判断权限设置Visiable
纯唇Yu弄 2011-03-25
  • 打赏
  • 举报
回复

//DataGridView CellFormatting 事件
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (this.dataGridView1.Columns[e.ColumnIndex].Name=="要显示为*的列名" && e.Value!=null && e.Value.ToString().Length>0 )
{
e.Value = new string('*',e.Value.ToString().Length);
}
}
纯唇Yu弄 2011-03-25
  • 打赏
  • 举报
回复

//DataGridView CellFormatting 事件
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.ColumnIndex==0 && e.Value!=null && e.Value.ToString().Length>0 )
{
e.Value = new string('*',e.Value.ToString().Length);
}
}
wwwiii520 2011-03-25
  • 打赏
  • 举报
回复
需求还是要求显示那个列啊
bdmh 2011-03-25
  • 打赏
  • 举报
回复
动态设置visible就可以了,什么用户看什么列,那是你来控制的

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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