2012-03-08 66 views
0

我使用asp:GridView在asp.net,.aspx页面中显示数据表。 我有一列包含敏感信息。 我想显示数据变灰的列或任何其他方法来隐藏它,所以当页面/ gridview加载时,这个数据列不仅仅是一个巨大的可见列表。
但是,当在特定行上单击编辑按钮时,我希望列中的敏感数据可见并可编辑。在asp.net GridView中隐藏数据编辑时除外

有关如何实现此目的的任何想法?

+1

那么隐藏的目的是什么?点击编辑按钮时,会显示此敏感数据,是否隐藏任何原因? – 2012-03-08 17:09:33

+0

你试过了什么? – Mubarek 2012-03-08 17:11:34

+0

我只是不希望每一行都显示页面/ gridview加载时的数据。由于同一用户输入敏感数据,因此用户一次只能查看一行。此外,它可以防止打印出这些数据的完整列表,并且使人们更难以查看这些数据,特别是在编辑时只能看到一行数据。 – Baxter 2012-03-08 17:13:14

回答

1

将列转换为模板。

然后您可以编辑GridView模板。有不同的模板可供查看和编辑。

0
  1. 如果你不想显示数据为什么在编辑模式下显示?人们也可以在编辑模式下凝视?
  2. 如果要在gridview中隐藏数据的粒度细节,则可以打开模式对话框/弹出窗口。
  3. 现在,您可以使用DataKeys gridview的&的定义此列GridView的dataKey
  4. 你当编辑按钮被点击&开关控制也可以设置为true或false你的页面上的属性可见像(这将其绑定到事件时自动运行)

    private bool isEdit; 
    protected bool IsEditMode 
         { 
          get {return isEdit;} 
         set {isEdit=value; 
         } 
    

然后在你的aspx,你会切换期望的控制,可视性只需

Visible='<%# IsEditMode %>'

0

你可能想使用的RowDataBound事件在GridView的做你的工作。找到当前行中的特定控件(可能是文本框),然后简单地设置disabled = true。或者,您也可以设置visible = false来隐藏该行中的特定控件。如果我能够正确地得到你,那么这应该可以完成你的工作。