我正在尝试将数据网格视图用于购物篮。我有它显示客户的篮子,但我希望它显示价格列的货币,但我也有一个数量列,所以如果我把默认样式作为货币,那么它会将两个列更改为货币格式。
我希望能够做的是将货币格式添加到价格列,但不添加到数量列。
以下是显示购物篮的代码(Form_load)
using (var con = new SqlConnection(connectionString))
{
SqlDataAdapter dataadapter =
new SqlDataAdapter(
"select p.productname 'Product Name', b.productquantity 'Quantity', c.categoryname 'Category', p.price 'Current Price' " +
"from basket b join products p on b.productid = p.productid " +
"join Categories c on c.categoryid = p.categoryid " +
$"where b.customerid = {CustomerId}", con);
DataSet ds = new DataSet();
con.Open();
dataadapter.Fill(ds);
con.Close();
dataGridView1.DataSource = ds.Tables[0].DefaultView;
}
CustomerId是从存储CustomerId的txt文件中收集的。
如果您想要查看更多代码然后发表评论,我会添加它。
答案 0 :(得分:6)
您可以使用列的Format
属性的DefaultCellStyle
属性设置列的数据格式。
例如,要使用当前文化为DataGridView
的第二列使用货币格式,您可以使用以下代码:
grid1.Columns[1].DefaultCellStyle.Format = "c";
或者例如使用特定的文化和特定的十进制数字:
grid1.Columns[1].DefaultCellStyle.Format = "c2";
grid1.Columns[1].DefaultCellStyle.FormatProvider = CultureInfo.GetCultureInfo("en-GB");
更多信息:
答案 1 :(得分:1)
在设计时创建DataGridView列,并仅设置价格格式化当前价格列 Datagridview tutorial
Set DateTime format in DataGridView此链接被视为设置日期格式,只需更改货币格式的日期格式。