0

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

该列的 asp.net 定义为:

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

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

01-1-0001 12:00:00 AM

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

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

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

-提前致谢!

4

3 回答 3

2

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

于 2009-01-07T20:48:15.803 回答
2

我问了一个关于在此处隐藏列的类似问题。

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

于 2009-01-07T20:56:53.273 回答
0

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

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

于 2009-01-07T20:49:48.497 回答