我有一个使用DataTable作为数据源的DataGridView。获取字符串,如DataGridView所示
我需要(以字符串数组的形式)获取具有相同格式的DataGridView中显示的值。
因此,在DataTable中,DGV中显示的值为“100”的字段为“€100,00”。我需要获得“€100,00”作为字符串
另一个字段是double,它的值是“31.506849315068493150684931507”,在DGV中显示为“31,51”。我需要得到“€31,51”作为字符串
DataTable
有不同类型的字段(字符串,日期,双),我需要得到一个字符串,如DGV中所示。
我试着用下面的代码,但我得到的值为DataTable
。
For x As Integer = 0 To Me.DGV_IntCalc.RowCount - 1
Dim RowStrList As New List(Of String)
For Each Col As String In MaxColLen.Keys
RowStrList.Add(Me.DGV_IntCalc.Item(Col, x).Value.ToString)
Next
Calc_Summay &= String.Format(F_Str, RowStrList.ToArray) & vbCrLf
Next
F_Str是一个字符串,它赋予列像格式 “{0,10} {} 1.20”
EDIT2:
我也试过:
RowStrList.Add(Format(Me.DGV_IntCalc.Item(Col, x).Value, _
Me.DGV_IntCalc.Columns(Col).DefaultCellStyle.Format))
但它没有给出预期的结果。我还尝试:
Dim Str$ = Me.DGV_IntCalc.Item(Col, x).Value.ToString
Dim Frmt$ = Me.DGV_IntCalc.Columns(Col).DefaultCellStyle.Format
Dim FormattedStr$ = Format(Str, Frmt)
或
Dim FormattedStr$ = String.Format(Str, Frmt)
但我得到的值作为在DataTable
(未格式化的)
为什么不直接使用'.Value'而不是'.Value.toString'? – noidea
您已将您的参数转换为您的编辑中的'String.Format'。 –
@AndrewMorton我尝试了'Format'和'String.Format'各自的语法,但我仍然收到错误。 – genespos