如何在gridview devexpress中显示列中行的值

时间:2013-07-18 22:33:53

标签: asp.net webforms devexpress

我有devexpress gridview,这个girdview的数据来自两个表。下面是这两个表的结构。在table1中,您可以说ProductID列是唯一的,在table2中可以重复ProductID。我想在gridview中显示每个productID的每一行。

我不想在table2上使用PIVOT,因为每次为产品插入新值时我都必须更改LINQ enitity或数据库对象。

表1

ProductID ColumnA ColumnB

1 ------------------------ X --------------------- ----ÿ

表2

ProductID列值

1 ---------------- ColumnC --------ž

1 ---------------- ColumnD --------甲

所以在网格中我想要

ProductID ColumnA ColumnB ColumnC ColumnD

我是否需要在asp.net中使用数据表(如果是这样)并将此数据表作为数据源传递给网格?或者我可以使用列表(如果是这样的话?)

我也希望将网格中的任何datapresent导出为ex​​cel。

2 个答案:

答案 0 :(得分:1)

如果我理解正确,您想使用Master-Detail视图:

http://demos.devexpress.com/ASPxGridViewDemos/MasterDetail/MasterDetail.aspx

答案 1 :(得分:0)

选中link导出GridViews

为了完成你的任务,我认为你可以这样做:

foreach (Table1Class table1Class in Table1ClassList) // Table1ClassList contains all the records from Table1
{
    foreach (Table2Class table2Class in Table2ClassList.Where(e => e.ProductID.Equals(table1Class.ProductId)))
    {
        // Retrieving Column : your FieldNames should be correctly set
        GridColumn columnFromGrid = FinalGrid.Columns.Where(col => col.FieldName.Equals(table2Class.Column)).First();

        // TODO : Populating Column
    }
}

我认为这应该可以解决问题!