gpt4 book ai didi

database - SQL Server 2008 中从数据库到数据集的位数据类型到枚举类型的映射

转载 作者:太空狗 更新时间:2023-10-30 01:57:19 26 4
gpt4 key购买 nike

我有一个表,其中有一列 Xyz,它在 SQL Server 2008 中有 bit 数据类型。

我通过数据适配器从表中获取值,并将其存储在 DataSet 中,DataGridView 将显示 中的内容数据集

在 gridview 中,对于 Xyz 列,显示了一个带/不带勾号的复选框,但我想将其显示为文本而不是复选框。

最佳答案

您可以通过 2 种方式中的一种来处理它。

1) 不是以位形式返回数据,而是在查询中进行强制转换,使其根据值以字符串形式返回买入/卖出。如果您的网格是只读的,这只会很好地工作。如果您需要能够添加/编辑数据,那么将您的买入/卖出转换回位并强制用户只能输入买入/卖出会变得很麻烦。如果您需要添加/编辑数据,您可能希望使用方法 2。

例如假设您的列名为 BuySell,类型为 bit

SELECT CASE WHEN BuySell = CAST(0 AS BIT) THEN 'Buy' ELSE 'Sell' AS BuySell FROM TableName

2) 您必须关闭 DataGridView 上的“Autogeneratecolumns”并手动设置您的列。如果您的网格是只读的,我会为您的买入/卖出列添加一个文本列,该列映射到您的位值。然后在网格的 Cell_Formatting 事件中,根据位更新值。类似下面的内容:

private void dgv_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (dgv.Columns[e.ColumnIndex].Name == "buysell")
{
if (e.Value != null)
{
if (e.Value.ToString() == "1")
{
e.Value = "Sell";
}
else
{
e.Value = "Buy";
}
}
else
{
e.Value = "Buy";
}
}
}

如果您的网格需要可编辑,请使用显示成员和值(value)成员设置代表您的买入/卖出值的数据表。将其绑定(bind)为组合框列的数据源。现在加载数据将在组合框中正确显示买入/卖出,当您从下拉列表中选择一个值时,对于新行,它将使用正确的位值填充您的基础数据源。

关于database - SQL Server 2008 中从数据库到数据集的位数据类型到枚举类型的映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13157891/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com