嘿,我正在尝试使我的数据网格可打印。为此,我试图隐藏最后的4列。我有一个可打印的按钮,我想点击它,使最后4列消失。到目前为止,我没有做到这一点。
我试过了:
ProductsGrid.Columns[6].ControlStyle.Width = -1;
和
ProductsGrid.Columns[6].Visible = false;
注意:这些列中包含数据。也许这是我的问题的一部分。此外,我需要列的标题消失。
感谢您的任何提示。
编辑:我在按钮点击命令中使它们不可见。我没有使用生成的列,所以我认为它设置为false。我有点厌倦了这个问题并离开了工作,并且不会回到下周中期,所以我可能不得不推迟到那时找到解决方案。感谢大家的评论,我很快就会看一下。对不起,我无法及时提供更多反馈。
编辑x2:我是否必须在某种回发中处理它?</ p>
答案 0 :(得分:2)
如果你有AutoGenerateColumns =“True”,那么只需设置visible = False就可以使它们不可见,因为automatically generated bound column fields are not added to the Columns collection。
VB.Net,但我认为你明白了这个想法:
Private Sub setPrinterView()
For Each tr As TableRow In DirectCast(Me.GridView1.Controls(0), Table).Rows
For i As Int32 = 1 To 4
If tr.Cells.Count - i < 0 Then Exit For
tr.Cells(tr.Cells.Count - i).Visible = False
Next
Next
End Sub
如果将AutogenerateColumns设置为False,则只需在不重新绑定网格的情况下使列不可见。