繁体   English   中英

C#if datagridview中字符单元格值的条件

[英]C# if condition for character cell value in datagridview

我在编码中遇到问题,如何检查它是否可以使用字符值而不是整数? 如果条件值是整数,但是单元格值包含“ I”或“ A”,则该代码有效。 我尝试了cellvalue.split,但给了我一个错误。

if (int.Parse(cellvalue.Value.ToString()) == 'A')
                    statcell.Value = Properties.Resources.icons8_login_rounded_filled_100;
                else
                    statcell.Value = Properties.Resources.icons8_folder_50;

这是整体代码:

        private void dg_vw_actve_doc_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == 0 && !isInit)
            {
                var valueCell = dg_vw_actve_doc.Rows[e.RowIndex].Cells[e.ColumnIndex];
                var imgCell = dg_vw_actve_doc.Rows[e.RowIndex].Cells[e.ColumnIndex + 0 ]; 
                char firstCharacterInCell = valueCell.Value.ToString()[1];
                if (firstCharacterInCell == 'A')
                    imgCell.Value = Color.Green;
                else
                    imgCell.Value = Color.Red;
            }
        }

我的imgCell变量是一个列值,它是从datagridview添加的,其columnindex为0,而我的valueCell变量的列索引是1,并且不是从datagridview的编辑器中添加的,仅在运行时显示。 这是一个未绑定的列

您的int.Parse调用返回一个整数,而不是一个字符。

您可以获取字符串的char数组的第一个元素。 如果您以后需要使用该字符,则此功能将非常有用:

// Check if there was no data
if (cellvalue.Value.ToString() != string.Empty)
{
    char firstCharacterInCell = cellvalue.Value.ToString()[0];
    if (firstCharacterInCell == 'A' || firstCharacterInCell == 'I')
    {
        // Your condition is matched
    }
}

您也可以检查字符串是否以“ I”或“ A”开头

string cellContent = cellvalue.Value.ToString();
if (cellContent.StartsWith("A") || cellContent.StartsWith("I"))
{
    // Your condition is matched
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM