c# Linq का उपयोग करते हुए सम डेटा तालिका कॉलम



asp.net datatable (1)

आपके नमूना आउटपुट में आपने वास्तव में इकाई मूल्य का सार नहीं किया है, लेकिन ऐसा लगता है कि आप क्या चाहते हैं, ऐसा कुछ है:

var results = 
    from row in lDTSalesOrder
    group row by row.Field<string>("SKU") into grp
    orderby grp.Key
    select new
    {
        SKU = grp.Key,
        Quantity = grp.Sum(r => r.Field<double>("Quantity")),
        UnitPrice = grp.Sum(r => r.Field<double>("UnitPrice")),
        LinePrice = grp.Sum(r => r.Field<double>("LinePrice"))
    };

इससे उत्पादन होगा:

SKU  Quantity  UnitPrice  LinePrice
 A     20         4         40
 B     10         2         40

यदि आप वाकई पहले परिणाम रिकॉर्ड के लिए 2 का एक यूनिट मूल्य बनाना चाहते हैं, तो आप जो चाहते हैं वह नहीं है; आपको कुछ अन्य समेकित फ़ंक्शन का उपयोग करना होगा। Min , Max , Average , या यहां तक ​​कि Select(...).First() उस नतीजे का उत्पादन करेगा, लेकिन आपको अपने आउटपुट में आप क्या चाहते हैं, इसे और अधिक सटीक रूप से परिभाषित करना होगा। आप यह भी कर सकते हैं:

var results = 
    from row in lDTSalesOrder
    group row by new { SKU = row.Field<string>("SKU"), UnitPrice = row.Field<string>("UnitPrice") } into grp
    orderby grp.Key.SKU
    select new
    {
        SKU = grp.Key.SKU,
        Quantity = grp.Sum(r => r.Field<double>("Quantity")),
        UnitPrice = grp.Key.UnitPrice,
        LinePrice = grp.Sum(r => r.Field<double>("LinePrice"))
    };

इनमें से कोई विकल्प उत्पन्न करेगा:

SKU  Quantity  UnitPrice  LinePrice
 A     20         2         40
 B     10         2         40

https://code.i-harness.com

हाय सब मैं डाटा डेटा में डेटा के रूप में निम्नानुसार कर रहा हूँ

SKU  Quantity  UnitPrice  LinePrice
 A     10         2         20
 A     10         2         20
 B     10         2         40

मैं डुप्लिकेट रिकॉर्ड के साथ SKU को जोड़ना चाहूंगा और परिणाम निम्नानुसार प्राप्त करूँगा

SKU  Quantity  UnitPrice  LinePrice
 A     20         2         40
 B     10         2         40

मैंने यह कोशिश की, लेकिन कोई भाग्य नहीं

var query = from row in lDTSalesOrder.AsEnumerable()
                            group row by row.Field<string>("SKU") into grp
                            orderby grp.Key
                            select new
                            {
                                Id = grp.Key,
                                Sum = grp.Sum(r => r.Field<double>("UnitPrice"))
                            };




datatable