Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 有没有办法让这成为一个循环?VB.NET_Sql Server_Crystal Reports_Vb.net 2010 - Fatal编程技术网

Sql server 有没有办法让这成为一个循环?VB.NET

Sql server 有没有办法让这成为一个循环?VB.NET,sql-server,crystal-reports,vb.net-2010,Sql Server,Crystal Reports,Vb.net 2010,关于如何将其转换为“FOR循环”的任何想法,因为我想要显示的数据数量不是固定的或恒定的,所以我需要将其转换为FOR循环 Public Sub ReportTransactionsLogs(ByVal LV As ListView) Dim rReport As New ReportTransLog Dim row As DataRow = Nothing Dim ds As New DataSet

关于如何将其转换为“FOR循环”的任何想法,因为我想要显示的数据数量不是固定的或恒定的,所以我需要将其转换为FOR循环

 Public Sub ReportTransactionsLogs(ByVal LV As ListView)
                Dim rReport As New ReportTransLog
                Dim row As DataRow = Nothing
                Dim ds As New DataSet
                ds.Tables.Add("TransactionsLog")

                With ds.Tables(0).Columns
                    .Add("Username")
                    .Add("ActionDate")
                    .Add("ActionTime")
                    .Add("Activity")
                    .Add("POInvoice")
                End With

                For Each LVI As ListViewItem In LV.Items
                    row = ds.Tables(0).NewRow
                    row(0) = LVI.Text
                    row(1) = LVI.SubItems(1).Text
                    row(2) = LVI.SubItems(2).Text
                    row(3) = LVI.SubItems(3).Text
                    row(4) = LVI.SubItems(4).Text
                    ds.Tables(0).Rows.Add(row)
                Next


                rReport.SetDataSource(ds.Tables(0))
                ReportViewer.CrystalReportViewer1.ReportSource = rReport
            End Sub
像这样试试

For Each LVI As ListViewItem In LV.Items  row = ds.Tables(0).NewRow

  For i As Integer = 1 To ds.Table(0).Columns.Count()
    If InlineAssignHelper(i, 0) Then
        row(i) = LVI.Text
    Else
        row(i) =LVI.SubItems(i).Text
    End If
   Next

Next

不清楚,此循环适用于每个ListViewItem,为什么需要将其替换为for..循环?因为我的列名不是固定的,有时会有所不同,有时,我想显示的列数不是constantI,我不明白这怎么可能是sql server标记,因为listview的数据来自sql server。。因此,这可能会有帮助。我在哪里可以得到InlineAssignhelper?它类似于:如果(i==0),那么行(i)=LVI。文本结束我从显示它的某个地方转换它,我不熟悉vb.net。