gpt4 book ai didi

C# 报表编辑列值

转载 作者:太空宇宙 更新时间:2023-11-03 15:51:55 25 4
gpt4 key购买 nike

我正在根据数据库表生成报告。在表中,我将性别保存为 0 或 1(男/女)。在报告中,我想显示字符串值而不是显示数字。我试着弄乱代码,即。

this.ItemsTableAdapter.Fill(this.InventoryDataSet.Items);
foreach (DataRow row in this.InventoryDataSet.Items.Rows)
{
if (row["gender"].ToString() == "0")
{
row["gender"] = "Male";
}
}

this.reportViewer1.RefreshReport();

然而,这破坏了报告的完整性(没有显示数据)。我怎样才能实现我想要的?

[编辑]

我更接近解决方案(我认为):

this.InventoryDataSet.Items.Columns.Add("genderVerbose", typeof(string));

foreach (DataRow row in this.InventoryDataSet.Items.Rows)
{
if (row["gender"].ToString() == "0")
{
row["genderVerbose"] = "Male";
}
}

但是现在我在尝试使用报告中的字段时遇到此错误:

Error 2 The Value expression for the text box ‘color’ refers to the field ‘genderVerbose’. Report item expressions can only refer to fields within the current dataset scope or, if inside an aggregate, the specified dataset scope. Letters in the names of fields must use the correct case.

最佳答案

如何为单元格分配 Enum 值? Enum.ToString() 默认情况下将代码中的值名称作为字符串给出。因此:

public enum Gender { Male, Female }

您可以将它们插入 DataGridView 单元格中,它会以这种方式显示。您可以通过以下方式测试值

if ((Gender)row["gender"].Value == Gender.Male)
{
// do things...
}

如果您需要它是用户可选择的,您可以使用 DataGridViewComboBoxCell

关于C# 报表编辑列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25446795/

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