次のデータベーステーブルがあります>>
(string) (float) (float) (float)
TradeNo | Buy_Sell | Trade_Qty | Market_Price
205412 1 50 300
205487 2 30 350
208754 1 20 200
このテーブルには、列 Buy_Sell があります。買い=1、売り=2
グリッドをバインドすると、値がそのまま表示されます。
しかし、私はそれらをグリッドに表示したかった >
TradeNo | Buy_Sell | Trade_Qty | Market_Price
205412 Buy 50 300
205487 Sell 30 350
205487 Buy 20 200
どうやってやるの?
次のコードでグリッドをバインドしただけです>
try
{
con.Open();
da = new SqlDataAdapter("select ...,
TradeNo, Buy_Sell, TradeQty, MarketPrice", con);
DataSet ds = new DataSet();
da.Fill(ds);
// gvTradeFile.DataSource = ds.Tables[0];
gvTradeFile.DataSource = ds.Tables[0].AsEnumerable()
.Select(d => new
{
TradeNo = d.Field<string>("TradeNo"),
Buy_Sell = d.Field<float>("Buy_Sell") == 1 ? "Buy" : "Sell",
TradeQty = d.Field<float>("TradeQty"),
Market_Price = d.Field<float>("MarketPrice")
});
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
このコードは例外を与えていませんが、結果をグリッドに表示していません。
このような結果を得るためのLINQクエリ以外の方法はありますか?