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

لكل مبرمجي ASP.NET أفضل Grid على الإطلاق

مغلقرائج
بدأه oneforall2012 في 17 يناير 2006 · 54 رد · 7,366 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#26

السلام عليكم

الأخ اسامة .. أرجو الإجابة على الأسئلة وجزاكم الله خيرا

#27

الأخ shramroasp :

بخصوص

اقتباس
الأزرار ; / record of/ close / كيف يمكن تعريبه علما أنني قمت بتعريب الباقي >

فالحل هو أولاً بوضع الملف المسمى axpdatagrid.ar-SA.resx (المرفق هنا) في مشروعك ومن ثم ضبط خصائص الأداة كالتالي :

AxpDataGrid1.UICulture="ar-SA";
//axpdatagrid.ar-SA.resx اللغة المراد استخدامها في التظبيق وعلى اساسها سيتم اختيار ملف AxpDataGrid1.UIResxUrl="Res/";//axpdatagrid.ar-SA.resx المسار الذي سيتم فيه وضع الملف

أما بخصوص :

اقتباس
كيف يمكن تغيير الاتجاه لكل الأعمدة بدلا من أن آغير اتجاه الأعمدة كل على حدة بـ AxpDataGrid1.SetGridColAttributes

فانه يتم من داخل ملف الكسكايد ستايل شيت CSS الذي يأتي مع ألأداة وذلك عن طريق التغيير في الـclass المسمى a.AXDBTableTH اذا أردت تغيير عنوان الحقل الـHeader مثال:

a.AXDBTableTH
{
  text-align:right;
  font: 10pt Arial;
  font-weight:bold;
  color: red;
  text-decoration: none;    
}

أما إذا أردت تغيير المحتوى داخل الجريد (البيانات) فهناك كلاسين أحدهما للسجلات الفردية والاخر للسجلات الزوجية (حسب ترقيم الاداة لها) لذلك عليك التغيير في الكلاسين الخاصين بهما وهما :td.AXDBTableTDodd و td.AXDBTableTDeven مثال :

td.AXDBTableTDodd
{
	text-align:right;
	padding-left:2px;
  font: 8pt Arial;
  color:Black;  
	border-bottom: #fdf5e6 1px solid;	
	border-right: #d6d2c2 1px solid;
}

td.AXDBTableTDeven
{
	text-align:right;
	padding-left:2px;
	border-bottom: #ffffff 1px solid;	
	border-right: #d6d2c2 1px solid;
	font: 8pt Arial;
	color:Black;	
}

النتيجة بالشكل التالي :

02_03_06_05_43_10_1141350190Overview.jpg

وبخصوص الوصول لبيانات خلية محددة داخل الاداة جرب الخاصية :

CurrentDataView .

ونأسف للتأخر في وضع الدروس والتأخر في الردود بسبب انشغالنا في بناء موقعنا طريق المطور والذي نأمل أن يكون على مستوى طموحاتنا وطموحاتكم .

Res.zip

تم تعديل هذه المشاركة بواسطة osmansays في 3 مارس 2006 في 04:37

#28

السلام عليكم

أشكرك أخي أسامة على جهدكم في توضيح الأمور واعتقد أنه يجب ان نقوم بمراجعة الموقع الخاص بالآداة حيث وجدت الإجابة على الكثير من الملاحظات التي كانت تراودني وفي انتظار موقعكم " طريق المطورين " .

وندعوا لكم بالتوفيق .

#29

الأخ shramroasp , فعلاً موقع الأداة يوفر الكثير من الدعم والحلول لكثير من المشاكل ولكننا ننوي في طريق المبرمجين أن نكون الداعم العربي لهذا المكون من حيث الدروس والادوات وخلاصة خبراتنا في استخدام هذه الأداة وكذلك مشاركة مجموعة الأكواد التي قمنا بكتابتها لتسهيل العمل على هذه الأداة واضافة وظائف اضافية لهذه الأداة ولكي نوفر على المبرمج العربي الوقت الذي أمضيناه في تعلم العمل على هذه الأداة وكذلك سيكون هناك منتدى مخصص لهذه الأداة داخل الموقع وهذه دعوة مفتوحة منا اليكم لانجاح الموقع والمشاركة بفاعلية في منتدياته...

وانتظروا المفاجئة الكبرى (التي لم نكن نريد الافصاح عنها الان ولكني سأفعل) وهي :

استخدام برامج الـ OR Mapping مع الاداة AxpDataGrid وبالتالي كتابة برنامج N-Tier يرتكز تماما على OOP بأقل عدد من الأسطروهو أمر لم يتطرق اليه منتدى أو موقع الأداة .....

لذا ترقبونا واعذروا تأخرنا ...فكما أسلفت سابقاً فان الطموحات والامال التي نضعها على موقعنا اكثر من المتوقع فهو موقع يهدف الى طرق ابواب وادوات برمجية لم تطرق بتاتا(أو نادراً) في عالمنا العربي .

فترقبونا .......

عثمان حمد

#30

السلام عليكم

أخي عثمان - آسف على الخطأ سابقا في الاسم - اتطلع بشوق إلى الموقع .. ولا أخفي عليك أنني مازلت متحيرا في الاعتماد على هذه الأداة بشكل كامل أو القيام بكامل الكود بنفسي فهناك الكثير من الأمور التي اتطلع للقيام بها او مجموعة المتطلبات ومنها:

1- هل تقوم الأداة بعمليات الإدخال بشكل tabular بمعنى انني أجد في جميع أدوات الـ datagrid أنني لإضافة سجل جديد لا بد ان أضغط على مفتاح إضافة ولكن يوجد شكل للتعامل مع الفورم بشكل الtabular بمعنى ان أقوم بعدةعمليات للإضافة - أضافة عدة سجلات - دون الضغط على أي مفتاح ومن ثم حفظ التغيرات الأجمالية -مثل dev 6i الخاص بقواعد البيانات oracle وهذه تفيديني بأشكال الإدخال المعتادة في البرامج مثل قيود اليومية في الأنظمة المالية وسندات الإدخال والصرف في أنظمةالمستودعات مثلا.

2- التحكم بأحداث الجافا سكريبت على مستوى edititems .

3 - التحكم

#31

السلام عليكم

أخي عثمان - آسف على الخطأ سابقا في الاسم - اتطلع بشوق إلى الموقع .. ولا أخفي عليك أنني مازلت متحيرا في الاعتماد على هذه الأداة بشكل كامل أو القيام بكامل الكود بنفسي فهناك الكثير من الأمور التي اتطلع للقيام بها او مجموعة المتطلبات ومنها:

1- هل تقوم الأداة بعمليات الإدخال بشكل tabular بمعنى انني أجد في جميع أدوات الـ datagrid أنني لإضافة سجل جديد لا بد ان أضغط على مفتاح إضافة ولكن يوجد شكل للتعامل مع الفورم بشكل الtabular بمعنى ان أقوم بعدةعمليات للإضافة - أضافة عدة سجلات - دون الضغط على أي مفتاح ومن ثم حفظ التغيرات الأجمالية -مثل dev 6i الخاص بقواعد البيانات oracle وهذه تفيديني بأشكال الإدخال المعتادة في البرامج مثل قيود اليومية في الأنظمة المالية وسندات الإدخال والصرف في أنظمةالمستودعات مثلا.

2- التحكم بأحداث الجافا سكريبت على مستوى edititems .

3 - التحكم في التصميم حيث ان الأداة تقوم بعمل الفورم بشكل تلقائي ( عامودي) كل حقل في سطر على حدة ... فهل يمكن دمج حقلين في سطر واحد .

4 - ما مدى الإمكانية للاعتماد على مثل هذه الأداة للتطوير مستقبلا فمن خلال الموقع علمت ان القائم بالأداة شخص واحد وليس شركة فبالتالي نتعرض للمخاطرة مستقبلا بان تتوقف الآداة عن التطوير تحت أي ظرف .

هذا ما جال في خاطري حاليا . وأرجو الرد بما أن لكم الخبرة في هذه الأداة أكثر مني .. ولكم خالص التقدير.

#32

الاخ shramroasp :

بخصوص الادخال بشكل tabular فللأسف الأداة لا يمكنها عمل ذلك لذا سيكون عليك استخدام DataGrid العادية أو GridView الموجودة ضمن الـVS.Net2003/2005 .

أما بخصوص التحكم بأحداث الجافا سكريبت على مستوى edititems فانه ممكن (حيث بالامكان استخدام PopUp Menu) اختيار من قائمة (مثال استخدام تقويم) وكذلك بالمكان عمل Validation على مستوى الحقل باستخدام JavaScript .

وبخصوص التحكم في التصميم بشكل عامودي فهذا غير متاح في هذه الأداة حتى الان ..(ولا أظن ان الشكل يمثل عائقاً مقارنة بالمهام الجبارة التي تقوم بها الأداة) .

القائم بالأداة هو شخص واحد فعلاً( وبامكانك الاطلاع على سيرته الذاتية من خلال الموقع) والأداة موجودة من عام 2003م حتى الان ولنفترض الأسوأ (كما هو الحال دائماً) فان الأداة الان مستقرة وتقوم بكافة المهام بدون أي مشاكل فلو توقف التطوير لها فأظن أن الامتيازات التي فيها تكفيها ....

لاحظ ان الأداة تقوم بعمل المكونين GridView +FormView مجتمعين( في VS.Net2005) ...

#33

أخي عثمان

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

لي ثلاث أسئلة أرجو الإجابه عليهما :

1- التاريخ يتخد الشكل الشهر/اليوم/السنة .. وغير ذلك يعطيني خطا في الحفظ .. فكيف أقوم بتغييره إلى اليوم/الشهر/ السنة .. وكيف أجعلها يعمل بالتاريخ الهجري ويتقبل السنوات التي تقل عن 1800؟

2- وضعت حقل رقمي number ولكنه يقوم بالحفظ في الفورم حتى ولو وضعت حروف بدلا من الأرقام فهل التحقق validation على مستوى الفورم لا يأخذ في الحسبان طبيعة الحقل على الرغم من أنني عندما قمت بتشغيل الديبج debug للجريد أظهر لي أن الحقل رقمي وليس حرفي ومع ذلك تم الحفظ.

3 - كيف احصل على أرقام الأخطاء التي تحدث - كأن أقوم بمحاولة حذف حقل primary وله forign - أو حتى على تصنيف لها حتى أقوم بالمعالجة حسب رقم الخطأ .

هذا ولكم خالص التحية والتقدير.

#34

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

هل من الممكن أن أي أحد منكم من الذي قاموا بتنزيلها على شكل ملف في المنتدى لانني كل ما أحاول تنزيلها من الموقع الرئيسي لا استطيع لا أعلم ما السبب أو حتى أرسالها لي على هذه الايميل :

albihany@Gmail.com ودمتم أخوتي

#35

هل لنا بدرس يوضح كيفية استخدام هذة الاداة

بحيث نعرف كيف يمكن الاستفادة من خواص هذة الاداة الاساسية

مع شكري

وفوق كل ذي علم عليم

http://www.leaderstechnology.com

-------------------------------

#36

الأخ shramroasp

1- إنصحك باستخدام التاريخ بشكل عدد اي أن التاريخ يكون له الشكل التالي مثلا 01/01/1425 يكتب في قاعدة البانات بالشكل التالي 14250101 وذلك لحل مشكلة التاريخ الهجري في قواعد بيانات SQL Server

2- بالنسبة لعملية الحفظ هل تأكدت من أنه لم يحفظ في قاعدة البيانات ,أرجو أن ترسل الشيفرة

3- استخدم االشيفرة التالية

AxpDBGrid.DisplayErrorMessage=true;

من أجل تفعيل إظهار رسائل الخطأ

مجموعة الدوت نت في السعودية , اشترك معنا لتحصل على كل مفيد في عالم الدوت نت

dotnetinsaudi-subscribe@yahoogroups.com

#37

أشكرك اخي عثمان

ولكن بالنسبة لرسالة الخطا ألا أستطيع الحصول على رقم الخطا لأعمل بموجبه : بمعنى إذا كان الخطأ الناتج عن محاولة حذف سجل praimary Key وله سجل آخر مدخل foreign key رقمه هو 5555 على سبيل المثال أستطيع أن أقوم برمجيا بإظهار رسالة للمستخدم تفيد بعدم إمكانية الحذف لوجود سجلات مرتبطة بهذا السجل أو عمل أي إجراء آخر.

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

وشكرا

#38

اريد أن اعرف ما هو انطباع كل من استخدم ال AxpDataGrid

مجموعة الدوت نت في السعودية , اشترك معنا لتحصل على كل مفيد في عالم الدوت نت

dotnetinsaudi-subscribe@yahoogroups.com

#39

السلام عليكم

بصراحة الأداة هائلة ومفيدة جدا وخصوصا في حالات عمل الإعدادات للبرامج lookups

ولكن هناك بعض الأمور التي تحتاج إلى ( لفة ) للتعامل معها، كما ان التعامل مع احجام الداتا الكبيرة - 100000 record مثلا- يصيبها بالبطء لأن تقوم بعمل databind في كل مرة -وكذلك عدم إمكانية التحكم في التصميم الخاص بالحقول - لا يمكن وضع حقل بجانب الآخر ونحتاجه بشكل كبير في عمليات الحقول المرتبطة - كأن يكون حقل رقم الحساب والحقل بجانبه مسمى الحساب ، فضلا على أنني لا اعرف مدى إمكانية التحكم في الأحداث الخاصة بالحقول نفسها مثل TextBoxChange الموجود في الجريد العادية - بمعني هل هناك إمكانية إنني عندما أقوم بإدخال رقم الحساب ,والخروج من الحقل أقوم بعمل script يقوم بتعبئة خانة مسمى الحساب وفقا للرقم ؟؟- كذلك مسألة التاريخ dd/mm/yyyy لا تأتي بسهولة

وغيرها الكثير

ولكن في النهاية فهذه الآداة لها إمكانيات هائلة وتختصر من وقت العمل الكثير ولكم الشكر هلى إهدائها لنا

ولكم خالص التحية

#40

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

بس لو يقوم أحد الأخوة بعمل شرح كامل للإداة الرائعة

و في الحقيقة أن اشتغل في مشروع تخرجي قابلتني مشاكل كثيرة ومشروعي هو الحكومة الالكتروني(نظام تسجيل ومعملات داخلية وخارجية لإحدى إدارات التعليم بالمملكة)

الرجاء سرعة الرد وبارك الله في وللجميع (h)

#41

نبشر الاخوة مستخدمي ال AxpDataGrid بأنها اصبحت موجودة الأن مع بعض العناصر الأخرى في الرابط التالي

http://osamashabani.free.fr/modules/mydownloads/

مجموعة الدوت نت في السعودية , اشترك معنا لتحصل على كل مفيد في عالم الدوت نت

dotnetinsaudi-subscribe@yahoogroups.com

#42

هناك مشكلة في الرابط .. أرجو التصحيح

#43

أخي عثمان لي سؤال أرجو الإجابة عليه

إذا أردت أن أضيف داخل الجريد label في حالة fromedit mode - اكيد من الselect الخاصة بـ editsql - وقبل هذا الـ label يوجد حقل رقمي

كيف أقوم بتفعيل حدث textBoxChange الخاصة بهذا الحقل أو حتى onChange كجافا سكريبت بحيث يقوم هذا السكريبت بجلب بيانات ما وتغيير الـ label بنص او كلمة حسب الرغبة

لأني جربت هذا الأمر ولكن الأحداث الخاصة كلها مرتبطة بأمر htmlafter وليس على تغيير المدخلات الخاصة بالـحقل نفسه سواء بإدخال جديد او تعديل المدخلات السابقة

أرجو أن يكون سؤالي واضح وأرجو الأجابة.. وأشكركم

#44
oneforall2012 كتب:

نبشر الاخوة مستخدمي ال AxpDataGrid  بأنها اصبحت موجودة الأن مع بعض العناصر الأخرى في الرابط التالي

http://osamashabani.free.fr/modules/mydownloads/

تم حل المشكلة والرابط يعمل الان ,ادخل ونزل الأداة ...

مجموعة الدوت نت في السعودية , اشترك معنا لتحصل على كل مفيد في عالم الدوت نت

dotnetinsaudi-subscribe@yahoogroups.com

#45
اقتباس

تم تعديل هذه المشاركة بواسطة oneforall2012 في 9 مايو 2006 في 09:42

مجموعة الدوت نت في السعودية , اشترك معنا لتحصل على كل مفيد في عالم الدوت نت

dotnetinsaudi-subscribe@yahoogroups.com

#46

اخي shramroasp اسف على التأخر في الرد وذلك بسبب مشاغل ....

لعمل ذلك لابد من استخدام Xml Http request وذلك باستخدام Jscript code :

قم بكتابة الدوال التالية في الواسمة Head:

 <script language="javascript">
   var xmlhttp;
   function loadXMLDoc(url) {
    // code for Mozilla ++    
    if (window.XMLHttpRequest) {
     xmlhttp = new XMLHttpRequest();
     xmlhttp.onreadystatechange = state_Change;
     xmlhttp.open("GET", url, true);
     xmlhttp.send(null);
    }
    // code for IE
    else if (window.ActiveXObject) {
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
     if (xmlhttp) {
      xmlhttp.onreadystatechange = state_Change;
      xmlhttp.open("GET", url, true);
      xmlhttp.send();
     }
    }
   }

   function state_Change() {
    if (xmlhttp.readyState==4)
     if (xmlhttp.status==200) { // if "OK"
     doSomething(xmlhttp.responseText);//الدالة التي تريد تنفيذها عند حدث التغيير
     }
   }      
    </script>

وفي داخل الواسمة Body بامكانك استخدام :

 <body onload="getValues()">

حيث getValues() هي الدالة التي تريد تنفيذها عند بدأ تحميل الصفحة فلو أنك اردت الحصول على قيمة ابتدائية لهذا الحقل استنادا الى عملية ما فقم بكتابتها داخل هذه الدالة .

بعد ذلك وداخل الجافا سكريبت أيضاً قم بتعريف متغير يمثل الحقل الضي تريد العمل عليه :

 <script language="javascript">
var myField = document.getElementById("Axezz1_Form_FieldName");

  if (myField!= null)
  myField.onchange = doSomething;
  
  function doSomething() {
   if (myField== null)
    return;   
   var FieldValue = myField.value;
   if (FieldValue!= "") {
    // الكود المراد تنفيذه
    loadXMLDoc(url);
   }
   
  }
</script>

كذلك باستخدام هذه الطريقة بامكانك عمل DropList مرتبطة مع بعضها البعضDependent DropDowns.

#47

أشكرك .. جاري التجربة .. مع وعد بالتواصل دائما .. شكرا مرة أخرى

#48

كنت قد وعدت الاخوة مستخدمي الأداة AxpDataGrid بدروس وشروحات واسف لهذا التأخير.....هذا رابط للدروس وسأحاول نقلها هنا في المنتدى حال ما تسنح لي الفرصة لعمل ذلك .

الرابط هو :

http://www.devroad.com/osman/lessons

في حالة وجود أي استفسار أرجو عدم التردد في الكتابة الي :osmansays@gmail.com

تم تعديل هذه المشاركة بواسطة osmansays في 17 يوليو 2006 في 23:48

#49

السلام عليكم

عندي سؤالين

الأول كيف استطيع إظهار chek box في الـgrid بدلا من true/false

الثاني كيف اصنع بحث من أدوات فيجوال ستوديو و تظهر النتيجة في هذه الـ grid العجيبة

شكرا سلفا

#50

انصحك باستخام صورة , بدلا من الcheckbox العادية , الموضوع جدا بسيط ,

أول احضري صورتين معبرتين عن true و false ثم قومي بتسميتهم true.gif و false.gif

ضعي الصورتين في مجلد من مجلدات الخاصة بالموقع وليكن imgaes

الان نذهب إلى الكود في الحدث onload الخاص بالأداة نكتب التالي , حيث أن الحقل os_status هو من نوع bit ويعيد قيمة tru أو false وبالتالي نضيف له الامتداد فيصبح true.gif , ثم نضيف له المسار , ونضعه في عنصر ال img فيصبح لدينا صورة تظهره

		private void AxpGird1_Load(object sender, EventArgs e)
		{
			switch(AxpGird1.CurrentMode)
			{
				case "grid":
				{
					Axezz.WebControls.DataColumnCollection dcc=AxpGrid1.GridColumns;
					dcc["os_status"].FreeFormatCell="<img id='img'src='../images/#os_status#.gif'";
	};break;
}
		}

بالنسبة للبحث يتم عن طريق ال SQL , ابني عبارة ال SQL استنادا إلى ماعيير المستخدم , ثم مرريها إلى ال Grid

تم تعديل هذه المشاركة بواسطة oneforall2012 في 17 سبتمبر 2006 في 00:50

مجموعة الدوت نت في السعودية , اشترك معنا لتحصل على كل مفيد في عالم الدوت نت

dotnetinsaudi-subscribe@yahoogroups.com

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

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