السلام عليكم ورحمة الله وبركاته
الاخوة الافاضل...
تحية طيبة وبع
أرجو المساعدة في استخدام متغييرين لل datasourse في الكريستال ريبورت ....فالاول يدخل بيانات من الداتاجريد والثاني من التكست بوكس ....كما هو مبين بالكود التالي
Dim reportTextBox As CrystalDecisions.CrystalReports.Engine.ReportDocument
reportTextBox = New CryRep_Pos_Inv_Sales_Print
reportTextBox.SetParameterValue("TxbInv_Num", TxbInv_Num.Text)
Frm_CryRep_Pos_Inv_Sales_Print.CrystalReportViewer1.ReportSource = reportTextBox
Dim reportTable As CrystalDecisions.CrystalReports.Engine.ReportDocument
reportTable = New CryRep_Pos_Inv_Sales_Print
reportTable.SetDataSource(dt)
Frm_CryRep_Pos_Inv_Sales_Print.CrystalReportViewer1.ReportSource = reportTable
اذ لا يظهر الا القيمة من التكست بوكس وليس من الداتا جريدفيو، ولكن ان حذفت خطوات التكست بوكس تظهر قيم الداتاجريد فيو ...
وبارك الله بكم
السلام عليكم ورحمة الله وبركاته،
أشكر لكم مروركم...
حاولت تطبيق الكود ولكن يطلب قيمة التكست بوكس ولا يقرأ قيمته وبالتالي لا يدل القيمة بالتقرير بينما قيم الداتاجريدفيو يتم تحميل قيمها بالشكل الصحيح ...
أرجو المساعدة ان امكن
وشكرا لكم....
السلام عليكم ورحمة الله وبركاته...
الإخوة الافاضل ، تحية طيبة وبعد...
بعد الحمد لله والشكر على ما من به علينا من علم ، توصلت لحل المشكلة وهو كالتالي ...
حيث كانت قيم الداتاجريد هي قيم لداتا تيبل يتم تعبأتها كما هو مفصل بنص الكود المرفق ، تم اضافة حقل التكست بوكس كحقل فالداتاست ولكن يتم تعبأته من التكستبوكس وليس من الداتا جريد وبالتالي لم أحتاج لداتا ست ثانية ...
وان لزم الامر لاي استفسار للكود فانا بكل تواضع مستعد للشرح والنقاش ان شاء الله ...
وان وجد حل آخر للتعامل مع مصدرين في الكريستال ريبورت ، ارجو مشاركتها لتعم المنفعة...
وبارك الله بالجميع
Private Sub BtnCrystalReport_Click(sender As Object, e As EventArgs) Handles BtnCrystalReport.Click
Dim dt As New DataTable
With dt
.Columns.Add("SeqNo")
.Columns.Add("ColNumber")
.Columns.Add("ColItemBarcode")
.Columns.Add("ColItemNumber")
.Columns.Add("ColItemName")
.Columns.Add("ColItemUnit")
.Columns.Add("ColItemExpDate")
.Columns.Add("ColQuantity")
.Columns.Add("Qty")
.Columns.Add("ColItemPrice")
.Columns.Add("ColItemTotal")
.Columns.Add("ColItemPerUnit")
.Columns.Add("ColExpDate")
.Columns.Add("QtyBackIn")
.Columns.Add("QtyBackUnit")
.Columns.Add("TotalBack")
.Columns.Add("ColTotalBack")
.Columns.Add("SerialNo")
.Columns.Add("TxbInv_Num")
.Columns.Add("TxbInvDate_Today")
.Columns.Add("TxbTimeNow")
End With
For Each dgr As DataGridViewRow In Me.DGVewItems.Rows
dt.Rows.Add(dgr.Cells("SeqNo").Value, dgr.Cells("ColNumber").Value, dgr.Cells("ColItemBarcode").Value, dgr.Cells("ColItemNumber").Value, dgr.Cells("ColItemName").Value, dgr.Cells("ColItemUnit").Value, dgr.Cells("ColItemExpDate").Value, dgr.Cells("ColQuantity").Value, dgr.Cells("Qty").Value, dgr.Cells("ColItemPrice").Value, dgr.Cells("ColItemTotal").Value, dgr.Cells("ColItemPerUnit").Value, dgr.Cells("ColExpDate").Value, dgr.Cells("QtyBackIn").Value, dgr.Cells("QtyBackUnit").Value, dgr.Cells("TotalBack").Value, dgr.Cells("ColTotalBack").Value, dgr.Cells("SerialNo").Value, TxbInv_Num.Text, TxbInvDate_Today.Text, TxbTimeNow.Text)
Next
Dim reportTable As CrystalDecisions.CrystalReports.Engine.ReportDocument
reportTable = New CryRep_Pos_Inv_Sales_Print
reportTable.SetDataSource(dt)
Frm_CryRep_Pos_Inv_Sales_Print.CrystalReportViewer1.ReportSource = reportTable
Frm_CryRep_Pos_Inv_Sales_Print.ShowDialog()
Frm_CryRep_Pos_Inv_Sales_Print.Dispose()
End Sub