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

Dbgrid لايظهر بالصورة المطلوبة في البرنامج

بدأه محترف الهواة في 11 أبريل 2008 · 4 رد · 758 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اعمل

dbgride

في برنامجي وذلك لسحب بيانات من جدول الموظفين الي الفورم

ولكنه لايظهر بالشكل الذي اريده بالضبط

بمعني اني اريد طول حقل الاسم 50 مثلا في قاعدة البيانات

واجعله كذلك في قاعدة البيانات

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

وان اريد الاسم طويل والرقم اصغر والمهنة متوسطة وهكذا

فماذا افعل

ارجو المساعدة

وجزاكم الله خيرا

#2

السلام عليكم

اخي الكريم لو كان قصدك تحديد مساحة الحقول في الجريد

اظهر خصائص الجريد

كليك يمين على الجريد ثم

Properties

ومن قسم

Layout

اختر الحقل المراد ثم حدد عرضه من

Width

وهكذا باقي الحقول

ارجوا ان اكون قد وضحت لك الطريق

الحمد لله الذي هدانا لهذا وما كنا لنهتدي لولا ان هدانا الله

450x250_1.gif

طريقك لاحتراف برمجة قواعد البيانات باستخدام Visual FoxPro

#3

السلام عليكم

اخي العزيز

اضافه لما قاله لك اخي الفاضل فتسطيع ان تحددها كما تشاء وكتالي :

- قم بالوقوف علي الداتا قرد واضغط الفاره بزر الايسر واختر منها Edit بعدها اذهب بالفاره علي راس الحقل العلوي وقم بتوسيعه او تصغيره كما تشاء دون الحاجه الي حساب الارقام وغير ذلك وبهذا تستطيع ان تحدد المساحه التي تريدها بالتمام

ولعلي افهم من كلامك انك لم تحدد الحقول مسبقا ولهذا الامر تظهر لك الحقول بنفس ماهي عليه بقاعدة البيانات لذلك يجب عليك تحديد الحقول عن طريق Properties وتختار Columns :)

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

تم تعديل هذه المشاركة بواسطة واقعي جدا في 11 أبريل 2008 في 02:04

#4

الأخ الكريم ، تحية طيبة وبعد ،

موضوع حجم بيانات الحقل بالجريد ليس له حل مباشر ، ولكن يمكننا التحايل علية قلياً بإستخدام حدث Error ، الذي يحتوي علي باراميتر يدعي Response ، حدد هذا الباراميتر وأجعل قيمتة صفرية كما يلي :

Private Sub fg_Error(ByVal DataError As Integer, Response As Integer)
	Response = 0
End Sub

وهذا الكود البسيط لا يجعل أي رسالة تعرض للمستخدم ، ولكن يجعلها تلغي عملية الرسالة وتقوم بضبط البيانات Data أوتوماتيكياً !!!

أكتب هذا الكود وحاول تدخل قيمة للحقل أكثر من اللازم فستجدة يمسح البيانات الجديدة المدخلة ويسترجع البيانات القديمة !!!

ولكن إذا أحببت أن تعرض رسالة للمستخدم تفيد بطول قيمة الحقل ، فعليك بحدث BeforeColUpdate الذي من خلالة يمكنك إجراء إختبار للمدخل قبل تعديلة بالحقل نفسة ، أنظر الي الكود التالي :

Private Sub fg_BeforeColUpdate(ByVal ColIndex As Integer, OldValue As Variant, Cancel As Integer)
	On Error Resume Next
	Select Case ColIndex
		Case Is = 0
			If (Len(fg.Columns(0).Value) > 9) Then MsgBox "رقم الموظف طويل نسبياً"
		Case Is = 1
			If (Len(fg.Columns(1).Value) > 30) Then MsgBox "إسم الموظف طويل نسبياً"
	End Select
End Sub

أما بخصوص تحديد حجم أو طول البيانات المدخلة في الجريد مثل خاصية MaxLength الموجودة بمربع النص ، فأعتقد أن هذا غير موجود في الـ DataGrid ، ولكنني من قليل وجدت في تبويب ( Splits ) خاصية تدعي Size ، حاولت أن أعمل عليها ولكنني لم أتمكن من ذلك !!!

علي كلٍ ، يمكنك النظر في المثال المرفق ، حيث يوضح لك الفكرة بوجة عام وبنفس الطريقة الموضحة أعلاة !!!

شكراً ، ويارب دايماً بالتوفيق للجميع ،

السلام ختام

Grid.rar

تم تعديل هذه المشاركة بواسطة MMA_EG_Cairo في 11 أبريل 2008 في 10:26

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#5

عاجز عن الشكر

اخي مصطفي

اخي mme cairo

اخي واقعي جدا

احبكم

جزاكم الله خيرا يا صناع الحياة

medoboxer2@yahoo.com

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