我正在使用具有多列数据的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]列,始终位于第一行(因为新行添加在顶部)。
有没有办法直接访问这个单元格并暂时“隐藏”其内容,或掩盖它们?理想情况下,如果有一种方法可以在列中清空所有值等于此值的行,那么这样做也很好。但是操作特定单元格的方法也可以。
-thanks提前!
答案 0 :(得分:2)
我可能会挂钩OnItemDataBound,检查值,并在需要时替换/重新格式化。
答案 1 :(得分:2)
我问了一个关于隐藏列here的类似问题。
我不得不使用RowCreated事件来隐藏用户的某些列(PK列),这也可以帮助你(特别是隐藏数据绑定列)。
答案 2 :(得分:0)
我过去做过类似的事情,这就是我所做的。
将数据绑定到根本不可见的列。为要显示的数据添加可见列。在填充网格时,循环遍历记录,对于任何值不是01-Jan-0001 12:00:00 AM的值,将可见行设置为该值。如果它等于01-Jan-0001 12:00:00 AM,则将可见行的值设置为空字符串或您选择的某个值。 (您甚至可以将文本颜色设置为与背景颜色相同,以便用户不会看到)