-1

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

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”的数据表的新实例。除此“价格”列外,所有单元格值均正确显示。

4

1 回答 1

0

您的价格列的数据类型应该比小数双倍。看看这个链接 小数与双倍

希望有帮助

于 2013-01-23T09:43:30.943 回答