在Excel中显示为True或False,在数据视图中显示为复选框

本文关键字:显示 数据 视图 复选框 True Excel False | 更新日期: 2023-09-27 18:08:53

我有一个excel文件的列有真或假(文本)在它,但在我导入文件后,列有真或假显示为复选框列在datagridview而不是文本本身。

如何解决这个问题?这和Excel有关吗?

在Excel中显示为True或False,在数据视图中显示为复选框

这是一个老问题,但我想张贴一个回应,以防有人遇到同样的问题。我有相反的问题-我有文本TRUE/FALSE作为一个字符串,并希望它是一个布尔值/复选框在我的datagridview在您的示例中,您需要更改相关列的数据类型。
这可以通过执行如下操作来实现

让我们假设你有一个数据表4行x 4列你知道第一列是布尔类型

private DataTable change_frombool_tostring(DataTable newDataTable)
{
    // take a copy of your original datatable
    int i = 0;
    DataTable newDataTable = originalDataTable.Clone();
    foreach (DataColumn dc in newDataTable.Columns)
    {
        // if you want to make a change to column 0 in your data table
        if (i == 0) 
        {
            // the data type for a boolean is typeof(bool) - we need to change it
            dc.DataType = typeof(string);
        }
       //Alternatively, if you wanted all boolean columns to be shown as a string, you could check each columns datatype then do 
        if (dc.DataType == System.Boolean) 
        {
            dc.DataType = typeof(string)
        }
    }
    foreach (DataRow dr in originalDataTable.Rows)
    {
        newDataTable.ImportRow(dr);
    }
    return newDataTable:
}

最后,列的数据类型决定了列中单元格的显示方式。