如何在数据网格列中将数字数据转换为char

时间:2019-01-21 09:52:26

标签: c#

我有代码从表格中提取1或0数据,并将其显示在数据网格列“ P”或“ A”中。问题是“ P”或“ A”没有显示。

我将学生出勤率“现在”和“缺席”数据另存为“ 0”和“ 1”。 我试着带这个'0'和'1',并通过if else条件(如果'1'然后显示'P',如果'0'显示'A')。

if (P == "1" && A == "0")
{
   present = "P";
   dg_attendance.Rows[i].Cells["Present"].Value = present;
}
else if ( P== "0" && A == "1")
{
   present = "A";
   dg_attendance.Rows[i].Cells["Present"].Value = present;
}

我想如果'P'= 1,则显示P,否则显示A

2 个答案:

答案 0 :(得分:0)

看来,您正在寻找旋转运算符? :,例如

dg_attendance.Rows[i].Cells["Present"].Value = P == '1' // assuming P is char
  ? "P"   // if P == '1' return "P" string
  : "A";  // otherwise "A"

答案 1 :(得分:0)

在当前代码中,您将值“ P”分配给变量,然后将此变量分配给单元格值。如果随后更改此变量,则该值将应用于其他实例。

我建议您更改代码,以便直接应用该值。

if (P == "1" && A == "0")
{
   // Student is present
   dg_attendance.Rows[i].Cells["Present"].Value = "P";
} else if ( P== "0" && A == "1") {
   // Student is absent
   dg_attendance.Rows[i].Cells["Present"].Value = "A";
} else {
   // Insufficent data
   dg_attendance.Rows[i].Cells["Present"].Value = "-";
}