问一个LInq的简单问题?

莫名3 2014-09-24 02:12:40
for (int i = 0; i < _icount; i++)
{
DataRow dr = _dt.NewRow();
dr["Ids"] = _updateArray[i][0].ToString().Trim();
dr["Classpercent"] = _updateArray[i][1].ToString().Trim();
dr["Percent"] = _updateArray[i][2].ToString().Trim();
dr["Lock"] = _updateArray[i][3].ToString().Trim();
dr["AchievementSource"] = _updateArray[i][4].ToString().Trim();
dr["IsReferenceIndicator"] = _updateArray[i][5].ToString().Trim();
dr["StrClassify"] = _updateArray[i][6].ToString().Trim();
dr["StrDefinition"] = _updateArray[i][7].ToString().Trim();
dr["Order"] = i;
_dt.Rows.Add(dr);
}


var dataSource = from p in _dt.AsEnumerable()
group p by new {
classify = p.Field<string>("StrClassify")

} into g
select new { Ids = "", Classpercent="" };


foreach (var item in dataSource)
{
//遍历LInq 的结果集,但是这个Item中的值,必须从select new中获取,这个时候 select new 中的这些值 应该怎么得到?
}
...全文
595 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
romanchaos 2014-10-24
  • 打赏
  • 举报
回复
为什么要select new { Ids = "", Classpercent="" }呢?直接select g不可以么?例如

publicclass Test
{
      public int Id {get;set;}
      public string Name {get;set;}
}
var query = from lstTest group by p.Id into g select g;
foreach(var item in query)
{
      var id = item.Key;
      var kidLst = item.Select(p=>new Test { Id=p.Id,Name=p.Name});
}
huier_2470303431 2014-10-24
  • 打赏
  • 举报
回复
Linq查询数据库绑定GridView控件遍历显示数据示例 protected void Page_Load(object sender, EventArgs e) { LinqDBDataContext lqDB = new LinqDBDataContext(ConfigurationManager.ConnectionStrings["db_LinQConnectionString1"].ConnectionString.ToString()); //创建查询表达式 var result = from u in lqDB.tb_info where u.ID > 1 select new { 类型=u.type, 标题=u.title, Info=u.info, LinkMan=u.linkman }; //绑定查询结果 GridView1.DataSource = result; GridView1.DataBind(); }
EnForGrass 2014-09-24
  • 打赏
  • 举报
回复
问题描述得不是很清楚

   var dataSource = from p in _dt.AsEnumerable()
                                 group p by  new {
                                     classify = p.Field<string>("StrClassify")
                                 } into g
                                 select new { Ids = g.Key, Classpercent=g.Sum(x => int.Parse(x.ItemArray[1].ToString())) };

给个例子给你

            DataTable dt = new DataTable();
            dt.Columns.Add("批号", typeof(string));
            dt.Columns.Add("数量", typeof(int));
            DataRow dr1 = dt.NewRow();
            dr1["批号"] = "0001";
            dr1["数量"] = 100;
            dt.Rows.Add(dr1);

            DataRow dr2 = dt.NewRow();
            dr2["批号"] = "0002";
            dr2["数量"] = 200;
            dt.Rows.Add(dr2);

            DataRow dr3 = dt.NewRow();
            dr3["批号"] = "0001";
            dr3["数量"] = 300;
            dt.Rows.Add(dr3);

            DataRow dr4 = dt.NewRow();
            dr4["批号"] = "0002";
            dr4["数量"] = 400;
            dt.Rows.Add(dr4);

            DataRow dr5 = dt.NewRow();
            dr5["批号"] = "0003";
            dr5["数量"] = 500;
            dt.Rows.Add(dr5);
            var sumObject = dt.Compute("Sum(数量)", "");
            var vardt = from p in dt.AsEnumerable()
                        group p by p.ItemArray[0] into g
                        let sum = g.Sum(x => int.Parse(x.ItemArray[1].ToString()))
                        select new
                        {
                            批号 = g.Key,
                            Sum = sum
                        };
            foreach (var outputvar in vardt)
            {
                MessageBox.Show(outputvar.批号 + "  " + outputvar.Sum);
            }

by_封爱 2014-09-24
  • 打赏
  • 举报
回复

"".ToArray().GroupBy(d => d.ToString()).Select(new Func<IGrouping<string, char>, TResult> { });
exception92 2014-09-24
  • 打赏
  • 举报
回复

 select new { Ids = g.key };
莫名3 2014-09-24
  • 打赏
  • 举报
回复
我只有在 select new { 添加了属性 才会出现
莫名3 2014-09-24
  • 打赏
  • 举报
回复
没有 item中的任何属性都没有
gxingmin 2014-09-24
  • 打赏
  • 举报
回复
把你问题描述清楚点 如果你要求Classpercent的和,可以: select new { Ids = "", Classpercent=g.Sum("Classpercent") };
天下如山 2014-09-24
  • 打赏
  • 举报
回复
new{ Ids = "", Classpercent=""}没懂么? 直接item.xx读取就是咯.
bdmh 2014-09-24
  • 打赏
  • 举报
回复
foreach (var item in dataSource) { item.xxx }
bdmh 2014-09-24
  • 打赏
  • 举报
回复
item里就有啊

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧