在BindingSource内合并多个列表

时间:2018-07-25 16:59:18

标签: c# winforms data-binding datagridview odp.net

我正在使用BindingSource在多个数据库调用中收集一些DataGridView

我想做的是将DataGridView的{​​{1}}属性中的所有.List合并为一个,以便我可以使用BindingSource

我尝试了以下操作,但是它仅绑定集合本身,而不绑定DataGridView.DataSource = BindingSource属性。

.List

我想要的是这样的

BindingSource _bindingSource = new BindingSource();
...
...
while(<doing database calls>) {
    // Populate _DataGridView with some a DB Call

    _bindingSource.Add(_DataGridView); // Add _DataGridView to the _bindingSource
}
DataGrid.Datasource = _bindingSource;

1 个答案:

答案 0 :(得分:1)

<?xml version="1.0" encoding="UTF-8" ?> <xsl:transform version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" encoding="UTF-8" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="Root"> <Data><xsl:apply-templates select="@*|node()"/></Data> </xsl:template> <xsl:template match="ClassA"> <xsl:copy><xsl:apply-templates select="Groups/*"/></xsl:copy> </xsl:template> <xsl:template match="*[matches(name(), 'Group\d')]"> <xsl:element name='Group'> <xsl:attribute name="folder" select="name()"/> <xsl:apply-templates select="@*|node()"/> <xsl:if test="count(*) = 0"> <xsl:copy-of select="ancestor::ClassA/Data"/> </xsl:if> </xsl:element> </xsl:template> <xsl:template match="@*|node()"> <xsl:copy><xsl:apply-templates select="@*|node()"/></xsl:copy> </xsl:template> </xsl:transform> DataSource

因此,您需要了解更多有关正在使用的实际DS;那么您可以(也许使用合适的objectCast<>(或Concat)各种枚举。

让我们看一个使用Union绑定到DataGridViews的简单示例:

DataTables

第一个示例包含每个表中的每一行;秒包含所有唯一的行。

如果您需要更多帮助,请添加创建数据源的实际代码。 (当然,它们必须与字段兼容。)