1
我有一个带有文本框列的datagridview。如果我想显示一个包含vbTab的文本,那么这个Tab就会被删除,并且不会显示任何制表符。在Datagridview中显示vbTab
如果我编写例如"text" & vbTab & "text"
编程到datagridview的单元格中显示的文本是texttext
。在正常的文本框中工作得很好。
这可以以某种方式纠正? 谢谢
我有一个带有文本框列的datagridview。如果我想显示一个包含vbTab的文本,那么这个Tab就会被删除,并且不会显示任何制表符。在Datagridview中显示vbTab
如果我编写例如"text" & vbTab & "text"
编程到datagridview的单元格中显示的文本是texttext
。在正常的文本框中工作得很好。
这可以以某种方式纠正? 谢谢
您可以使用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
谢谢,我已经这样做,但它不能解决问题。制表符的优点在于它将文字对齐。 – sharkyenergy
如果处理CellPainting事件,您将使用Graphics.DrawString()来显示单元格文本。然后,您可以使用制表符分隔符对字符串进行拆分(),并将字符串中的选项卡式项目制作为多个Graphics.DrawString以考虑对齐。 – Graffito