【问题标题】:ASP.NET Datagrid - hiding a specific row/columnASP.NET Datagrid - 隐藏特定的行/列
【发布时间】:2010-09-30 03:17:39
【问题描述】:

我正在使用具有多列数据的 Datagrid(称为 myDG),其中一列是绑定到数据源的 DateTime。它的值取决于完成作业并分配日期时间值的“作业”对象。由于这通常需要一分钟,因此该值在开始时未分配。

该列的asp.net定义为:

<asp:boundcolumn 
  DataField="CompletedDate" 
  HeaderText="Date Completed" 
  DataFormatString="{0:dd-MMM-yyyy <br> hh:mm:ss tt}" />

因此,当“作业”完成并设置时间时,该功能可以正常工作。但在此之前,在显示该行时,它显示为

01-Jan-0001 中午 12:00:00

我想隐藏这一点,并确定最好的方法是用空白屏蔽特定的行和列,或暂时覆盖该值。我在执行此操作时遇到问题,并且无法找到访问该特定行和列的方法。

它是数据网格的 [3] 列,并且始终位于第一行(因为在顶部添加了新行)。

有没有办法直接访问这个单元格并暂时“隐藏”它的内容,或者屏蔽它们?理想情况下,如果有一种方法可以清除列中所有值等于此值的行,但也可以操作特定单元格的方法。

-提前致谢!

【问题讨论】:

    标签: asp.net datagrid


    【解决方案1】:

    我可能会挂钩 OnItemDataBound,检查值,并在需要时替换/重新格式化。

    【讨论】:

      【解决方案2】:

      我问了一个关于隐藏列here的类似问题。

      我不得不使用 RowCreated 事件向用户隐藏某些列(PK 列),这也可能对您有所帮助(尤其是隐藏数据绑定列)。

      【讨论】:

        【解决方案3】:

        我过去做过类似的事情,这就是我所做的。

        将数据绑定到根本不可见的列。为要显示的数据添加可见列。在填充网格时,循环遍历记录,对于任何值不是 01-Jan-0001 12:00:00 AM 的记录,将可见行设置为该值。如果它等于 01-Jan-0001 12:00:00 AM,则将可见行的值设置为空字符串或您选择的某个值。 (您甚至可以将文本颜色设置为与背景颜色相同,这样用户就不会看到)

        【讨论】:

          猜你喜欢
          • 2014-11-30
          • 2017-07-31
          • 1970-01-01
          • 2020-12-08
          • 2011-04-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多