Tôi đang viết một ứng dụng web asp.net C#
; tôi có một bộ nhớ trong bộ nhớ có tên là 'table1
' có ba cột 'country
', 'productId
' và 'productQuantity
'; tôi muốn xoay bảng đó để lấy bảng mới (giả sử 'table2
') có cột đầu tiên 'country
' làm cột cố định và số động và tên cột 'product_1
', 'product_2
', ... , 'product_n
' theo tổng số sản phẩm hiện có trong 'table1
'; cột đầu tiên 'country
' phải chứa tên quốc gia; năng động tạo ra các cột 'product_1
', 'product_2
', ..., 'product_n
' phải có các productQuantity
đã được selled cho mỗi sản phẩm cụ thể trong nước quy địnhcách tạo bảng tổng hợp với cột động bằng cách sử dụng biểu thức cây linq
Tôi đang sử dụng biểu thức truy vấn LINQ to viết mã; vấn đề là tôi không thể mã hóa cứng tên không phải là giá trị của sản phẩm; tôi không thể dự đoán có bao nhiêu sản phẩm tồn tại trong datatable; cho bây giờ, tôi đang kiểm tra kết quả bằng cách sử dụng biểu thức sau đây:
var query = table1.AsEnumerable()
.GroupBy(c => c.country)
.Select(g => new
{
country = g.Key,
product_1 = g.Where(c => c.productId == "a30-m").Select(c => c.productQuantity).FirstOrDefault(),
product_2 = g.Where(c => c.productId == "q29-s").Select(c => c.productQuantity).FirstOrDefault(),
.
.
.
product_n = g.Where(c => c.productId == "g33-r").Select(c => c.productQuantity).FirstOrDefault()
});
tôi đưa ra một ví dụ về cách 'table1
' trông giống như và làm thế nào 'table2
' phải trông giống như:
view example image of the two tables table1 and table2
bất kỳ ai cũng có thể giúp tôi tìm giải pháp để tạo bảng tổng hợp với cột động bằng cách sử dụng biểu thức cây linq hoặc phương pháp LINQ khác; bất kỳ trợ giúp nào sẽ được đánh giá cao.
chờ bất kỳ trợ giúp nào ... – user598956