我正在使用MS SQL Server和Visual Basic。將來自不同列的兩個值合併到Datagridwiev的一列中
我想結合一個計算列和另一列來爲計算添加單位。 (例如「200平方米」)
DgwNewLayout.Columns(5).DefaultCellStyle.Format = "0.00 " & "'" & DgwNewLayout.CurrentRow.Cells(9).Value & "'"
此代碼是否僅對第一次輸入的單位有效?我怎樣才能做到這一點每列?
我正在使用MS SQL Server和Visual Basic。將來自不同列的兩個值合併到Datagridwiev的一列中
我想結合一個計算列和另一列來爲計算添加單位。 (例如「200平方米」)
DgwNewLayout.Columns(5).DefaultCellStyle.Format = "0.00 " & "'" & DgwNewLayout.CurrentRow.Cells(9).Value & "'"
此代碼是否僅對第一次輸入的單位有效?我怎樣才能做到這一點每列?
您可以使用CellFormatting
事件。
Private WithEvents DgwNewLayout As DataGridView
Private Sub DgwNewLayout_CellFormatting(sender As Object,
e As DataGridViewCellFormattingEventArgs
) Handles DgwNewLayout.CellFormatting
If e.ColumnIndex = 5 Then
e.Value = CDbl(e.Value).ToString("0.00") &
" " & CStr(DgwNewLayout.Rows(e.RowIndex).Cells(9).Value)
e.FormattingApplied = True
End If
End Sub
正如Dom Sinclair所說,這可能會有糟糕的表現。
'私人小組Unite_Transfer() 對於每行中DgwNewLayout.Rows 昏暗N作爲整數 N = N + 1 DgwNewLayout.Item(5中,n - 1).Style.Format =「 0.00「&」'「&DgwNewLayout.Item(9,n - 1).Value&」'「' Next End Sub'我已經使用過這個。我無法將您的代碼添加到列(5)中。但是,謝謝你的回答。你能解釋一下如何正確使用你的代碼嗎? – Macukadam
我已經擴展了上面的代碼示例。現在第5列僅被格式化。 With'vents'使用'Handles',另請參閱[MSDN](https://msdn.microsoft.com/zh-cn/library/6k46st1y.aspx)。 – VV5198722
非常感謝! – Macukadam
您是否實際循環遍歷所有數據網格以合併要合併的值?更好的做法是在數據庫本身做這件事。創建一個視圖或存儲過程,以您想要的樣式生成數據輸出,然後將網格視圖綁定到該視圖。 –
我瞭解您的擔憂,但我並未使用大量數據。爲了提高效率,我將嘗試一個存儲過程。你能舉個例子嗎? (列1,列2至欄3) – Macukadam