شماره سطر در Reportviewer - vb.net

nafiseh_hch

Member
سلام
آیا این امکان هستش که توی reportviewer وقتی رکورد ها را می فرستیم برایش شماره سطر بصورت خودکار ایجاد شود؟؟؟
یعنی داخل همان جدولی که برای نمایش رکوردها استفاده می کنم یک ستون اضافه بشه که شماره سطر بخوره
ممنون می شم اگه کمکم کنید
 

the_king

مدیرکل انجمن
سلام
آیا این امکان هستش که توی reportviewer وقتی رکورد ها را می فرستیم برایش شماره سطر بصورت خودکار ایجاد شود؟؟؟
یعنی داخل همان جدولی که برای نمایش رکوردها استفاده می کنم یک ستون اضافه بشه که شماره سطر بخوره
ممنون می شم اگه کمکم کنید
اطلاعاتم در مورد نحوه کار کردن با بانک اطلاعاتی خیلی تخصصی نیست و احتمالا راه های دیگه ای هم هست، اما
می توانید DataSet پروژه رو ویرایش کنید و یک Table جدید با همون مشخصاتی بسازید که قراره به ReportViewer
ارسال بشه و شامل همون فیلد شماره سطر هم هست.
یعنی از مشخصات و ساختار Table قبلی کپی بگیرید و فیلد جدید رو بهش اضافه کنید (قرار نیست این Table
جدید در بانک اطلاعاتی ذخیره بشه، فقط در DataSet پروژه تون ثبت میشه)
بعد BindingSource اون ReportViewer رو روی این Table جدید تنظیم کنید.

حالا کافی است که یک آرایه از Row های این Table رو پر کنید و با یک حلقه For برای هر سطر مقدار اون
فیلد شماره سطر رو هم مشخص کنید و در نهایت آرایه Row ها را تحویل ReportViewer بدهید.

یک نگاهی به مثال پیوستی بندازید : ReportViewerVB2.rar
 

پیوست ها

  • ReportViewerVB2.rar
    61.7 کیلوبایت · بازدیدها: 38

nafiseh_hch

Member
ممنونم
ولی اگر من بخوام مثلاً رکورد های یک دیتاگرید رو که خودش فیلتر شده هست (یعنی رکورد های خاصی از دیتابیس ) رو به reportview بفرستم باید چیکار کنم؟؟

برنامه شما کل رکورد هارو بررسی می کنه و این برای وقتیکه رکوردها زیاده کمی طول می کشه

من میخوام رکورد هایی با شماره و تاریخ خاص رو بفرستم به reportviewer
هرکاری کردم که مثلاً dvرو بفرستم نتونستم

کد:
[SIZE=2]dv = [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]New[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] DataView(ds.Tables([/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"pausr.Comissionbk"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]))[/SIZE]

واقعاً ممنونتون می شم اگر مثل همیشه کمکم کنید
 

the_king

مدیرکل انجمن
ممنونم
ولی اگر من بخوام مثلاً رکورد های یک دیتاگرید رو که خودش فیلتر شده هست (یعنی رکورد های خاصی از دیتابیس ) رو به reportview بفرستم باید چیکار کنم؟؟

برنامه شما کل رکورد هارو بررسی می کنه و این برای وقتیکه رکوردها زیاده کمی طول می کشه

من میخوام رکورد هایی با شماره و تاریخ خاص رو بفرستم به reportviewer
هرکاری کردم که مثلاً dvرو بفرستم نتونستم

کد:
[SIZE=2]dv = [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]New[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] DataView(ds.Tables([/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"pausr.Comissionbk"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]))[/SIZE]

واقعاً ممنونتون می شم اگر مثل همیشه کمکم کنید
رکورد های فیلتر شده که هیچ، اما همه رکورد هایی که باید در ReportViewer دیده بشوند که حتما باید در حلقه
پیمایش شوند، وگرنه نمیشه اندیس شون درج بشه.

اون DataGrid مد نظر شما خودش که اطلاعات رو فیلتر نکرده، از طریق یک آرایه ای از DataRow ها اطلاعات
رو دریافت کرده. اگر دقت کرده باشید من یک آرایه ای از سطر ها رو به DataSource تحویل داده ام، شما هم
می توانید با دستور Select داخل Table هر نوع فیلتری را انجام داده و مقدار بازگشتی اش که یک آرایه است
را با همان شیوه ای که نوشته بودم اندیس دار کنید.

در مثال زیر سطر هایی که FirstName شان با حرف a شروع می شد قبل از حلقه فیلتر شده اند :
کد:
        Dim table1 As New DataSet1.DataTable1DataTable
        table1.AddDataTable1Row("ali", "yazdani")
        table1.AddDataTable1Row("babak", "nikbakht")
        table1.AddDataTable1Row("arman", "hamidi")
        table1.AddDataTable1Row("saeed", "karimi")
        Dim table2 As New DataSet1.DataTable2DataTable
        Dim rows As New List(Of DataSet1.DataTable2Row)
        Dim selected() As DataSet1.DataTable1Row = table1.Select("FirstName>'b'")
        For rowIndex As Integer = 1 To selected.Length
            Dim sourceRow As DataSet1.DataTable1Row = selected(rowIndex - 1)
            Dim destRow As DataSet1.DataTable2Row = table2.NewRow
            destRow.Index = rowIndex
            destRow.FirstName = sourceRow.FirstName
            destRow.LastName = sourceRow.LastName
            rows.Add(destRow)
        Next
        DataTable2BindingSource.DataSource = rows
        Me.ReportViewer1.RefreshReport()
 

جدیدترین ارسال ها

بالا