vb.net将存储过程值作为新行分配给gridview

时间:2017-01-12 18:45:13

标签: vb.net stored-procedures gridview devexpress

我正在从存储过程接收数据,但我不知道如何将其作为新行添加到网格中。

Dim SprocData As SelectedData = EUOW.ExecuteSprocParametrized("FinanceTool", New SprocParameter("@Years", ATBYears), New SprocParameter("@PlanningPeriodStartDate", StartDate.DateTime), New SprocParameter("@PlanningPeriodEndDate", EndDate.DateTime), New SprocParameter("@PerProduct", ValuesAsProduct), New SprocParameter("@Aggregation", Aggreg), New SprocParameter("@AggregationApplication", AggregApp), New SprocParameter("@AccountList", Accounts))

For Each StatementRow As SelectStatementResultRow In SprocData.ResultSet(0).Rows
                    StatementRow.Values
            Next

有价值我可以看到值,但我不知道如何将它们作为新行添加到gridview。

对不起,我真的不知道如何解释它。

希望你理解我的意思。

由于 Patryk

1 个答案:

答案 0 :(得分:0)

使用网格控件的常见方案是显示来自特定数据源的记录,因此添加新记录的最佳方法是直接使用此数据源,而不是通过网格方法。 因此,如果您需要将结果记录集添加到“空”网格中或替换现有网格,您只需分配网格的数据源:

gridControl1.DataSource = SelectedData

或者,如果您需要“追加”数据,可以直接将这些数据记录添加到基础数据源中:

' pseudo-code
gridControl1.DataSource = <Collection(Of Some Type)>
...
' after getting some results
<Collection(Of Some Type)>.AddRange(SelectedData)

在某些情况下,您可以使用ColumnView.AddNewRow方法添加新行。该方法应该添加一个新的“空”行,然后让最终用户手动填充其单元格值。可以通过处理InitNewRow事件手动执行新记录初始化 您还可以使用数据源或ColumnView.SetRowCellValue方法提供的方法在代码中初始化单元格值。

仅当网格的基础数据源支持IBindingList接口时,ColumnView.AddNewRow方法才有效。

相关帮助文章:Adding and Deleting Record