C# 3.0 从dataview中排序和获取前5行

C# 3.0 从dataview中排序和获取前5行,c#-3.0,C# 3.0,我有下面的数据表 DataTable dtEquityHoldings = new DataTable("EquityHoldings"); dtEquityHoldings.Columns.Add("EquityHoldings"); dtEquityHoldings.Columns.Add("PortfolioWeight(%)"); dtEquityHoldings.Columns.Add("MarketValue", typeof(double)); dtEquityHoldings.C

我有下面的数据表

DataTable dtEquityHoldings = new DataTable("EquityHoldings");
dtEquityHoldings.Columns.Add("EquityHoldings");
dtEquityHoldings.Columns.Add("PortfolioWeight(%)");
dtEquityHoldings.Columns.Add("MarketValue", typeof(double));
dtEquityHoldings.Columns.Add("Beta", typeof(double));
dtEquityHoldings.Columns.Add("Beta Adj. Delta", typeof(double));
dtEquityHoldings.Columns.Add("Vega", typeof(double));
dtEquityHoldings.Rows.Add("Santarus Inc", "0.81%", 882380.26, -1.56, 114709.43, 24937.23);
dtEquityHoldings.Rows.Add("Dell Inc", "1.21%", 1318123.60, 1.3, 324757.27, 47923.72);
dtEquityHoldings.Rows.Add("JPMorgan and Chase Co", "2.95%", 3213607.12, 1.12, 258414.50, 38472.28);
dtEquityHoldings.Rows.Add("Qualcomm Inc", "1.38%", 1503314.52, 1, 315608.54, 36938.75);
dtEquityHoldings.Rows.Add("Nokia", "2.45%", 2668927.95, 0.87, -346960.63, 39283.23);
dtEquityHoldings.Rows.Add("Rite Aid Corp", "1.84%", 2004419.36, 0.82, 139526.19, 92374.56);
dtEquityHoldings.Rows.Add("General Electric", "3.80%", 4139561.72, -0.78, 538143.02, 23947.83);
dtEquityHoldings.Rows.Add("Microsoft Corp", "2.06%", 2244078.20, 0.78, 454383.09, 42938.44);
dtEquityHoldings.Rows.Add("Johnson & Johnson", "4.47%", 4869431.81, 0.63, 633026.14, 82374.23);
dtEquityHoldings.Rows.Add("Power Inc.", "3.46%", 3769179.88, 0.13, 493374.82, 12930.02);
我想对Beta列进行排序,然后我必须取前5行,然后我必须将其绑定到网格

我使用的数据视图如下所示

DataView dvData = new DataView(dtEquityHoldings);
dvData.ToTable().AsEnumerable().OrderBy(r => r["Beta"]).Take(5);   
dataGridView1.DataSource = dvData;
这不起作用

请帮忙


还有一个

您正在使用LINQ。LINQ方法不修改原始集合。试试这个:

dataGridView1.DataSource = dvData.ToTable().AsEnumerable().OrderBy(r => r["Beta"]).Take(5).ToList();

@wpf,是winForms gridView吗?@wpf。结果应该实现
IList
查看我的答案UpdateEdit仍然不工作。它显示了一些默认的东西。然而,我用其他方法解决了它。