2015-07-10 141 views
1

我有一个带有文本框列的datagridview。如果我想显示一个包含vbTab的文本,那么这个Tab就会被删除,并且不会显示任何制表符。在Datagridview中显示vbTab

如果我编写例如"text" & vbTab & "text"编程到datagridview的单元格中显示的文本是texttext。在正常的文本框中工作得很好。

这可以以某种方式纠正? 谢谢

回答

0

您可以使用DataGridViewCellFormatting事件来修改文本的外观。在下面的代码中,我用垂直条替换了标签(但可以更改它)。

Private Sub dataGridView1_CellFormatting(ByVal sender As Object, _ 
     ByVal e As DataGridViewCellFormattingEventArgs) _ 
     Handles dataGridView1.CellFormatting 
    If Me.dataGridView1.Columns(e.ColumnIndex).Name = "TheTextColumnName" Then 
    If e.Value IsNot Nothing Then 
     e.Value = CType(e.Value, String).Replace(vbtab,"|") 
    End If 
    End If 
End Sub 
+0

谢谢,我已经这样做,但它不能解决问题。制表符的优点在于它将文字对齐。 – sharkyenergy

+0

如果处理CellPainting事件,您将使用Graphics.DrawString()来显示单元格文本。然后,您可以使用制表符分隔符对字符串进行拆分(),并将字符串中的选项卡式项目制作为多个Graphics.DrawString以考虑对齐。 – Graffito