C# 将网格列与具有不同值的特定列绑定
我有以下数据库表>>C# 将网格列与具有不同值的特定列绑定,c#,.net,winforms,C#,.net,Winforms,我有以下数据库表>> TradeNo | Buy_Sell | Trade_Qty | Market_Price 205412 1 50 300 205487 2 30 350 208754 1 20 200 此表中有“买入\卖出”列。买入=1,卖出=2 绑定网格时,值将按原样显示 但是,我想在网格中显示它们为> Trade
TradeNo | Buy_Sell | Trade_Qty | Market_Price
205412 1 50 300
205487 2 30 350
208754 1 20 200
此表中有“买入\卖出”列。买入=1,卖出=2
绑定网格时,值将按原样显示
但是,我想在网格中显示它们为>
TradeNo | Buy_Sell | Trade_Qty | Market_Price
205412 Buy 50 300
205487 Sell 30 350
205487 Buy 20 200
我该怎么做
我只是用以下代码绑定了网格>
try
{
da=new SqlDataAdapter("Select TradeNo, Buy_Sell,TradeQty,Market_Price from tradeFile",conn);
DataSet ds=new DataSet();
da.Fill(ds);
gvTrade.dataSource=ds.Tables[0];
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
代码中应该有哪些更改?如果
买入卖出
是引用“买入卖出类型”表的外键列,请将查询更改为以下内容(添加联接):
否则,您可以使用LINQ转换代码中的数据:
try
{
da=new SqlDataAdapter("SELECT TradeNo, Buy_Sell, TradeQty, Market_Price FROM tradeFile", conn);
DataSet ds=new DataSet();
da.Fill(ds);
gvTrade.dataSource = ds.Tables[0].AsEnumerable()
.Select(d => new
{
TradeNo = d.Field<int>("TradeNo"),
Buy_Sell = d.Field<int>("Buy_Sell") == 1 ? "Buy" : "Sell",
TradeQty = d.Field<int>("TradeQty"),
Market_Price = d.Field<double>("MarketPrice")
});
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
试试看
{
da=新的SqlDataAdapter(“从tradeFile中选择TradeNo、Buy\u Sell、TradeQty、Market\u Price”,康涅狄格州);
数据集ds=新数据集();
da.填充(ds);
gvTrade.dataSource=ds.Tables[0].AsEnumerable()
.选择(d=>new
{
贸易编号=d.字段(“贸易编号”),
买入卖出=d.字段(“买入卖出”)==1?“买入”:“卖出”,
交易数量=d.字段(“交易数量”),
市场价格=d.字段(“市场价格”)
});
}
捕获(例外情况除外)
{
MessageBox.Show(例如Message);
}
但是Buy\u Sell不是主键,所以没有Buy\u Sell\u类型表?是的,您可以在数据表上使用LINQ,DataTable上的.AsEnumerable()调用可以实现这一点。它不会给出任何错误[exception],但它不会在网格中显示任何结果@OliverIts也不会给出任何错误[exception],但它也不会在网格中显示任何结果
try
{
da=new SqlDataAdapter("SELECT TradeNo, Buy_Sell, TradeQty, Market_Price FROM tradeFile", conn);
DataSet ds=new DataSet();
da.Fill(ds);
gvTrade.dataSource = ds.Tables[0].AsEnumerable()
.Select(d => new
{
TradeNo = d.Field<int>("TradeNo"),
Buy_Sell = d.Field<int>("Buy_Sell") == 1 ? "Buy" : "Sell",
TradeQty = d.Field<int>("TradeQty"),
Market_Price = d.Field<double>("MarketPrice")
});
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}