0
我的项目包含一个允许输入订单的表单,使用UltraGrid
。保存初始数据后无法将UltraGrid复选框值设置为True
一列是checkbox
样式列,表示订单是否已交货。
当订单达到“阶段4 - 等待发货”时,用户可以将列值设置为True
,然后再提示新窗口,以允许用户输入交货量和价值。 如果订单尚未完全交付,checkbox
设置为False
,订单行变为黄色(例如,已订购了5个门,但仅交付了3个= False
,但为黄色订单行)。
保存订单后关闭并重新登录,我试图设置Checkbox
为True
,更新订单以添加剩余交付(最终2个交货门已交付),但只要我将它设置为True
,它立即再次变为False
(当单步执行CellChange
方法中的以下代码时,它也表示单元格值也是False
)。
那么,为什么我只能改变一次值呢?保存后,为什么该值不能再被更改?它是否在数据库中保存为False
这一事实?
Try
If e.Cell.Column.ToString = "Goods_Delivered" Then
e.Cell.Row.Update()
If e.Cell.Value = True Then
If IsDBNull(e.Cell.Row.Cells("Final_Delivery").Value) Then
MsgBox("Please enter a delivery date", MsgBoxStyle.OkOnly, "Invalid Date")
e.Cell.Row.Cells("Goods_Delivered").Value = False
Else
Dim f As New dlgDelivery(e.Cell.Row, Me, e.Cell.Row.Cells("Final_Delivery").Value, con, orderNumber, e.Cell.Row.Cells("Product_Code").Value, exTotal)
f.ShowDialog()
End If
e.Cell.Row.Update()
cmdCheck_Click(sender, New EventArgs)
cmdTotals_Click(sender, New EventArgs)
ElseIf e.Cell.Value = False Then
ugProducts.ActiveRow.Cells("Final_Delivery").Value = DBNull.Value
productCode = ugProducts.ActiveRow.Cells("Product_Code").Value
database.NotDelivered(orderNumber, productCode, con)
Exit Sub
Else
End If