الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

استفسار في الكريستال ريبورت و datagrid

مغلق
بدأه ahmashhor في 2 مارس 2006 · 7 رد · 1,239 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لدي مشكلة وسؤالين في الحقيقة وهي تواجه الكثير من المبتدئين مثلي فياريت من يعرف ذلك ان لايبخل لاخوانه في التعلم وجزاء الله خير للجميع . . .

السؤال الأول :

الملف المرفق يحتوي على تقرير بالكريستال ريبورت ووضعت استعلام sql ليعرض لي سجل واحد فقط لكنه عند فتح التقرير يعرض كل سجلات الجدول وكان الاستعلام الذي عملته لايعمل .

السؤال الثاني :

هل ممكن مساعدتي في كيفية اختيار الاسم او الرقم الموجود في الـ datagrid والذي حددته بالماوس ووضع السطر المحدد بالماوس في datagrid على اي ليبل اختاره.وكذا كيفية التحكم بحجم وعناوين اعمدة الـ datagrid .

أفيدونا جزاكم الله خير .

Counts.rar

#2

-9

اقتباس
السؤال الأول :

الملف المرفق يحتوي على تقرير بالكريستال ريبورت ووضعت استعلام sql ليعرض لي سجل واحد فقط لكنه عند فتح التقرير يعرض كل سجلات الجدول وكان الاستعلام الذي عملته لايعمل .

أنظر الصورة المرفقة بها شرح ما تريد

اقتباس
.وكذا كيفية التحكم بحجم وعناوين اعمدة الـ datagrid

datagrid -----> properties ------> table style يمكنك من خلالها التحكم بحجم وعناوين الأعمدة

-waf

post-61809-1141311589_thumb.jpg

يا حى يا قيوم برحمتك أستغيث اصلح لى شأنى كله ولا تكلنى إلى نفسى طرفة عين

اللهم أعنا على ذكرك وشكرك وحسن عبادتك

اللهم انك عفو كريم حليم تحب العفو فاعفو عنا

اللهم إنى أسألك رضاك والجنة وأعوذ بك من سخطك والنار

اللهم إرحمنا فوق الأرض وإرحمنا تحت الأرض وإرحمنا وإعتق رقابنا يوم العرض

اللهم لا تدع لنا ذنبًا إلا غفرته ولا همًا إلا فرجته ولا مريضًا ولا دينًا إلا قضيته ولا عيبا إلا سترته ولا حاجًا هى لك رضا إلا قضيتها

اللهم انى أسألك موجبات رحمتك وعزائم مغفرتك والسلامة من كل إثم والغنيمة من كل بر والفوز بالجنة و النجاة من النار اللهم أمين يا رب العالمين

#3

الاخ الكريم enjyshahin شكرا جزيلا على الرد

ولكن جوابك عن السؤال الاول لم افهمه لانني عملت نفس ماذكرته ولازالت المشكلة . وارجو ان تعيد ارفاق الملف بعد تصليحه.

اما الرد عن السؤال الثاني فانني عملت ما ذكرته في الخاصية table style ولم تظهر العناوين لاادري ما السبب. ربما لأن datagrid مربوط بقاعدة البيانات حسب التالي:

Dim Con As New OleDb.OleDbConnection

Dim Dsperson As New DataSet

Dim Sql As String = "select cont, no_cont from counts order by

no_cont"

Con.ConnectionString = "provider=microsoft.jet.oledb.4.0;data

source=" & Application.StartupPath & "\db.mdb;persist security

info=false"

Try

Dim da As New OleDb.OleDbDataAdapter(Sql, Con)

da.Fill(Dsperson, "counts")

DataGrid1.DataSource = Dsperson.Tables("counts")

Catch e1 As OleDb.OleDbException

MsgBox(e1.Message)

End Try

فياريت اذا هناك طريقة برمجيه اكتب خاصيتها بنفسي ضمن حدث النقر على زر اظهار الـ datafrid كما في الفيجوال بيبسك6 .

ومعذرة لان عندي سؤال ثالث وهو كيف اضع الاسم الذي احدده بالماوس في Datagrid من بين عدة سجلات واضعه على textbox.

8-) وآسف جدا على التطويل. :^)

#4

-9

أنا أسفة أخى الكريم على الخطأ في الفهم منى لسؤالك الأول فأنت تريد أن تظهر سجل واحد ولكنى فهمت أنك تريد أن تظهر عامود واحد

في حالة سؤالك هذا إيما أن تحدد قيمة معينة فى جملة الselect وهنا هذة القيمة هى التى سوف تظهر دائما عند عرض التقرير أو تضيف textbox وفى جملة الselect فى الwhere clause

 where col = " & textbox1.text & "

أما بالنسبة للسؤال الثانى

فأنك من table style تختار collection ثم سيظهر لك

03_03_06_09_11_25_1141405885dg_1.JPG

ثم تكتب أسم الtable عند الMapping Name

03_03_06_09_15_05_1141406105dg__.JPG

ثم عند gridcolumnstyle ثم collection وطبعا تضغط على زر ال(...)

ومن الذى يظهر لك تختار إما datagridtextboxcolumn وهذا لعرض البيانات العادية

أو datagridboolcolumn وهذا لعرض بيانات التى هى (نعم أو لا)

03_03_06_09_29_52_1141406992dg_4.JPG

-waf

يا حى يا قيوم برحمتك أستغيث اصلح لى شأنى كله ولا تكلنى إلى نفسى طرفة عين

اللهم أعنا على ذكرك وشكرك وحسن عبادتك

اللهم انك عفو كريم حليم تحب العفو فاعفو عنا

اللهم إنى أسألك رضاك والجنة وأعوذ بك من سخطك والنار

اللهم إرحمنا فوق الأرض وإرحمنا تحت الأرض وإرحمنا وإعتق رقابنا يوم العرض

اللهم لا تدع لنا ذنبًا إلا غفرته ولا همًا إلا فرجته ولا مريضًا ولا دينًا إلا قضيته ولا عيبا إلا سترته ولا حاجًا هى لك رضا إلا قضيتها

اللهم انى أسألك موجبات رحمتك وعزائم مغفرتك والسلامة من كل إثم والغنيمة من كل بر والفوز بالجنة و النجاة من النار اللهم أمين يا رب العالمين

#5

اختي الكريمة enjyshahin شكرا جزيلا على الرد والمتابعة

وفي الحقيقة عن السؤال الاول عن التقرير فانني عملت الاستعلام التالي :

Sql = "select * from movies where count_num=1"

لكن المشكلة باقية كما كانت. يعرض كل السجلات ومن المفترض ان يعرض سجل واحد فقط.

واما عن التحكم باعمدة الـ datagrid فانني اتبعت الخطوات التي ذكرتيها لكن لم يتغير شئ بل اختفت البيانات التي كنت قد جلبتها من قاعدة البيانات لاادري ما السبب.

وعلى العموم فانني ارفق الملف ارجو اصلاحه واعادة ارفاقة من فضلك.

وقد كنت ذكرت في المرة الماضية : كيف اضع الاسم الذي احدده بالماوس في Datagrid من بين عدة سجلات واضعه على textbox.

وقد وجدت الحل بعد جهد مضني وهو كالتالي للفائدة وتوفير الجهد على غيري:

textbox1.Text = DataGrid1.Item(DataGrid1.CurrentCell.RowNumber, 1)

Counts.rar

#6

السلام عليكم ورحمة الله وبركاته اخي ahmashhor انا اعاني من نفس المشكله حاولت بعدة طرق لكن لم تأتي معي وهي

هو ان الكريستال ريبورت لايعرض الاستعلام الذي طلبته بل يعرض لي كل السجلات على انه في داتا قريد يعرض لي الاستعلام لكن في الكريستال ريبورت لايعرض الاستعلام بال يعرض كل السجلات ياليت اللي عنده رد يفيدنا انا لي الان اثلاث ايام وانا احاول لكن ماجت معي

#7

السلام عليكم ورحمته الله وبركاته

انا جربت الكود هذا واعطيت قيمة في textbox بدلا من اني اجعلها قيمة ثابته

Sql = "select * from movies where count_num"=textbox1.text"

اما هذا الكود فياتي بجميع السجلات

Sql = "select * from movies "

هذا فقط الاستعلام ولكن معها كود عرض التقرير واداه عرض التقرير

مع ملاحظة انا التقرير مصمم وجاهز

وشكرا

اللهم انصر الاسلام والمسلمين

2035881233.gif

#8

لقد وجدت الحل ياشباب وكا بودي ارفاق الملف ولكن لاتوجد مساحة وعلى العموم فالكود التالي يمكنك من خلاله البحث في التقرير:

Try

Dim Adapter As New OleDb.OleDbDataAdapter(Sql_Rep, Con)

Adapter.Fill(Myds, "movies")

If Myds.Tables("movies").Rows.Count >= 1 Then

Dim a As New Rep

Dim Fltr, Fltr_Name

a.CrystalReportViewer1.ReportSource = "D:\taha\counts\CrystalReport1.rpt"

Fltr = "{movies.count_num}=" & Trim(Label1.Text) & "" 'name

'Fltr_Name = "{counts.no_cont}=" & Trim(Label1.Text) & "" 'name

a.CrystalReportViewer1.SelectionFormula = (Fltr)

'a.MdiParent = Me

a.Show()

Else

MsgBox("لاتوجد بيانات لطباعتها")

End If

Catch err As System.Exception

MsgBox(err.Message)

End Try

وهو مثال اكثر من رائع ولكن لازلت ابحث عن طريق البحث بالـ sql ومن ثم عرضه في التقرير وقد تعبت في البحث ولم اجده

هذا الموضوع مغلق.

مواضيع مشابهة