[英]Winforms Textbox bound to bindingsource with currency format and datagridview not refreshing properly
[英]datagridview not displaying currency format
首先,我使用以下內容填充DataGridView
:
dta = New OleDbDataAdapter("Select * From [" & ActName & "$B6:E" & LastEntryRow & "]", cn)
dts = New DataSet
dta.Fill(dts, "Detailtable")
DataGridView1.DataSource = dts
DataGridView1.DataMember = "Detailtable"
然后,我格式化了包含以下代碼的DataGridView:
Dim currencyCellStyle As New DataGridViewCellStyle
currencyCellStyle.Format = "C2"
With Me.DataGridView
.Columns(1).DefaultCellStyle = currencyCellStyle
.Columns(2).DefaultCellStyle = currencyCellStyle
End with
這很好。 列將其值顯示為$ 1234.00。 將新值添加到列中后,它們立即顯示為$ 1234.00。 (目前為止)
如果在創建數據集時某列沒有任何值,則該數據列的datagridview中不會顯示任何值。 (到目前為止沒有問題)
但是,所有添加到空白列的新值都顯示為1234.00。 不是$ 1234.00。
我嘗試刷新DataGridView,在更改單元格后重新格式化了DataGridView。 它仍然顯示為1234.00。
如果我保存更改,請重新創建DataSet並重新填充DataGridView,一切正常。
當新值直接添加到列中時,我需要DataGridView反映正確的格式($ 1234.00)。
如果您使用此行
DataGridView1.Columns(1).DefaultCellStyle.Format = "C2"
它必須可以工作,但是如果您的數據庫列格式不是十進制 (而是TEXT),則這種格式將永遠無法使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.