在数据网格视图 C# 中看不到单元格的十进制值

本文关键字:单元格 看不到 十进制 数据 数据网 网格 视图 | 更新日期: 2023-09-27 17:55:29

我无法在我的网格视图上显示"价格"单元格的值,这是我的代码:

DataColumn idCol2 = new DataColumn();
        idCol2.DataType = System.Type.GetType("System.Int32");
        idCol2.ColumnName = "Id";
        table.Columns.Add(idCol2);
        DataColumn SKUCol2 = new DataColumn();
        SKUCol2.DataType = System.Type.GetType("System.String");
        SKUCol2.ColumnName = "SKU";
        table.Columns.Add(SKUCol2);
        DataColumn ProdNameCol2 = new DataColumn();
        ProdNameCol2.DataType = System.Type.GetType("System.String");
        ProdNameCol2.ColumnName = "Product Name";
        table.Columns.Add(ProdNameCol2);
        DataColumn DescCol2 = new DataColumn();
        DescCol2.DataType = System.Type.GetType("System.String");
        DescCol2.ColumnName = "Product Description";
        table.Columns.Add(DescCol2);
        DataColumn PriceCol2 = new DataColumn();
        PriceCol2.DataType = System.Type.GetType("System.Decimal");
        PriceCol2.ColumnName = "Price";
        table.Columns.Add(PriceCol2);
        DataColumn[] keys2 = new DataColumn[5];
        keys2[0] = idCol2;
        table.PrimaryKey = keys2;
        LivePOS livepos = new LivePOS(clientId, clientSecret);
        _products = livepos.GetProducts(apiKey, token);
        foreach (var p in _products)
        {
            table.Rows.Add(p.Id, p.Sku, p.Name, p.Description , p.SellingPrice);
        }
        table.DefaultView.Sort = "Id ASC";
        dataGridView1.DataSource = table;
        this.dataGridView1.DefaultCellStyle.Format = "N4";
        foreach (DataGridViewRow row in dataGridView1.Rows)
        {
            row.Cells[0].ReadOnly = false; //id
            row.Cells[1].ReadOnly = true; //sku
            row.Cells[2].ReadOnly = true; //name
            row.Cells[3].ReadOnly = true; //description
        }

请帮帮我:)这段代码有问题吗?我在Form_Load事件上创建了名为"table"的数据表的新实例。除此"价格"列外,所有单元格值都正确显示。

在数据网格视图 C# 中看不到单元格的十进制值

您的价格列的数据类型应为十进制的双倍。请查看此链接十进制与双精度

希望有帮助