从 Datareader 设置复选框值

set Checkbox value from Datareader

我正在尝试将信息从数据库提取到表格中。

数据库将复选框值存储为单个值(-1 为真 0 为假)

但是我无法用这个设置复选框的 .checked 状态。

frmTool.chkMeterFake.CheckState = dr("VALIDATE")

我也试过了

frmTool.chkMeterFake.CheckState = Convert.ToBoolean(dr("VALIDATE"))

尝试使用 Checked 属性 而不是 CheckState:

frmTool.chkMeterFake.Checked = Convert.ToBoolean(dr("VALIDATE"))

当您希望复选框具有三种可能的状态时,CheckState 属性 很有用:已选中、未选中或未设置。

为什么不对布尔值使用 bit 列?

但是,您可以使用这个:

Dim validateIndex = dr.GetOrdinal("Validate")
frmTool.chkMeterFake.Checked = dr.GetFloat(validateIndex) = 0