ربط ورقة العمل بمجموعة بيانات باستخدام مصمم ورقة العمل في GridWeb
ربط ورق العمل بقاعدة بيانات باستخدام مصمم ورق العمل
**الخطوة 1: إنشاء قاعدة بيانات نموذجية**
- أولاً، نقوم بإنشاء قاعدة البيانات النموذج التي سيتم استخدامها في هذا المقال. نحن نستخدم Microsoft Access لإنشاء قاعدة بيانات تحتوي على جدول يسمى المنتجات. يُظهر هيكلها أدناه. معلومات التصميم حول جدول المنتجات
- يتم إضافة بضع سجلات وهمية إلى جدول المنتجات. السجلات في جدول المنتجات
الخطوة 2: تصميم التطبيق النموذجي
تم إنشاء تطبيق ويب ASP.NET وتصميمه في Visual Studio.NET كما هو موضح أدناه. تصميم التطبيق النموذجي
الخطوة 3: الاتصال بقاعدة بيانات باستخدام مستكشف الخادم
حان الوقت للاتصال بقاعدة البيانات. يمكننا القيام بذلك بسهولة باستخدام مستكشف الخادم في Visual Studio.NET.
- حدد اتصال البيانات في مستكشف الخادم وانقر بزر الماوس الأيمن.
- حدد إضافة اتصال من القائمة. اختيار خيار إضافة اتصال
يتم عرض مربع الحوار خصائص رابط البيانات. مربع حوار خصائص رابط البيانات
باستخدام هذا الحوار، يمكنك الاتصال بأي قاعدة بيانات. بشكل افتراضي، يتيح لك الاتصال بقاعدة بيانات SQL Server. لهذا المثال، نحتاج إلى الاتصال بقاعدة بيانات Microsoft Access.
- انقر على علامة التبويب المزود.
- حدد مزود بيانات Microsoft Jet 4.0 OLE DB من قائمة مزودات OLE DB(s).
- انقر فوق التالي. النقر على التالي بعد تحديد مزود بيانات OLE DB
تم فتح صفحة التبويب الاتصال.
- حدد ملف قاعدة بيانات Microsoft Access (في حالتنا، db.mdb) وانقر على موافق. النقر على زر موافق بعد تحديد ملف قاعدة البيانات
الخطوة 4: إنشاء أجسام اتصال قاعدة البيانات بشكل رسومي
- استعرض الجداول في قاعدة البيانات باستخدام استكشاف الخادم. هناك جدول واحد فقط، وهو الجدول المنتجات.
- اسحب وأسقط جدول المنتجات من استكشاف الخادم إلى النموذج الويب. سحب جدول المنتجات من استكشاف الخادم وإسقاطه إلى النموذج الويب
قد يظهر حوار. مربع الحوار لتأكيد تضمين كلمة مرور قاعدة البيانات في سلسلة الاتصال
قرر ما إذا كنت ترغب في تضمين كلمة مرور قاعدة البيانات في سلسلة الاتصال أم لا. لهذا المثال، اخترنا لا تضمن كلمة المرور. تم إنشاء اثنين من أجسام اتصال قاعدة البيانات (oleDbConnection1 وoleDbDataAdapter1) وأُضيفا. تم إنشاء أجسام اتصال القاعدة de البيانات (oleDbConnection1 &oleDbDataAdapter1) وعرضها
الخطوة 5: إنشاء مجموعة بيانات
حتى الآن، قمنا بإنشاء أجسام اتصال قاعدة البيانات لكننا لا نزال بحاجة إلى مكان لتخزين البيانات بعد الاتصال بقاعدة البيانات. يمكن لكائن DataSet تخزين البيانات بدقة ويمكننا أيضًا إنشائه بسهولة باستخدام برنامج التطوير المُتكامل لـ VS.NET.
- حدد oleDbDataAdaper1 وانقر بزر الماوس الأيمن.
- حدد خيار إنشاء مجموعة البيانات من القائمة. تحديد خيار إنشاء مجموعة البيانات
يتم عرض حوار إنشاء مجموعة البيانات. هنا، يمكن اختيار اسم للكائن مجموعة البيانات الجديدة التي سيتم إنشاؤها، وأي جداول يجب إضافتها إليها.
- حدد خيار أضف مجموعة البيانات هذه إلى المصمم.
- انقر على موافق. النقر على زر موافق لإنشاء مجموعة البيانات
تمت إضافة كائن dataSet11 إلى المصمم. تم إنشاء مجموعة البيانات وإضافتها إلى المصمم
الخطوة 6: استخدام مصمم الأوراق العمل
الآن، حان وقت فتح السر.
-
حدد عنصر التحكم GridWeb وانقر بزر الماوس الأيمن.
-
حدد خيار مصمم الأوراق العمل من القائمة.
تحديد خيار مصمم الأوراق العمل
يتم عرض محرر مجموعة الأوراق العمل (المعروف أيضًا بمصمم الأوراق العمل). حوار محرر مجموعة الأوراق العمل
يحتوي الحوار على عدة خصائص يمكن تكوينها لربط Sheet1 بأي جدول في قاعدة البيانات.
- حدد خاصية مصدر البيانات. يتم سرد كائن dataSet11 الذي تم إنشاؤه في الخطوة السابقة في القائمة.
- حدد dataSet11.
- انقر فوق خاصية DataMember. تُظهر أداة تصميم أوراق العمل قائمة من الجداول في dataSet11. هناك جدول واحد فقط، وهو Products.
- حدد جدول Products. تعيين خصائص DataSource و DataMember
- تحقق من خاصية BindColumns. فتح خاصية BindColumns
يفتح النقر على خاصية BindColumns محرر مجموعة BindColumn. محرر مجموعة BindColumn
في محرر مجموعة BindColumn، يتم إضافة جميع أعمدة جدول Products تلقائيًا إلى مجموعة BindColumns.
- حدد أي عمود وقم بتخصيص خصائصه. على سبيل المثال، يمكنك تعديل تسمية كل عمود. تعديل تسمية عمود ProductID
- بعد إجراء التغييرات، انقر فوق موافق.
- أغلق جميع الحوارات بالنقر على موافق. وأخيرًا، ستتم إعادتك إلى صفحة WebForm1.aspx. العودة إلى صفحة WebForm1.aspx بعد استخدام أداة تصميم أوراق العمل
أعلاه، يُظهر اسم العمود في جدول Products. عرض الأعمدة صغير لذا فإن أسماء بعض الأعمدة لا تظهر بالكامل.
الخطوة 7: إضافة كود إلى معالج حدث Page_Load
لقد استخدمنا أداة تصميم أوراق العمل والآن يتوجب علينا فقط إضافة الكود إلى معالج حدث Page_Load لملء الكائن dataSet11 بالبيانات من قاعدة البيانات (باستخدام oleDbDataAdapter1) وربط عنصر التحكم GridWeb بـ dataSet11 باستدعاء طريقة DataBind الخاصة به.
- أضف الكود:
C#
//Implementing Page_Load event handler
private void Page_Load(object sender, System.EventArgs e)
{
//Checking if there is not any PostBack
if (!IsPostBack)
{
try
{
//Filling DataSet with data
oleDbDataAdapter1.Fill(dataSet11);
//Binding GridWeb with DataSet
GridWeb1.DataBind();
}
finally
{
//Finally, closing database connection
oleDbConnection1.Close();
}
}
}
VB.NET
'Implementing Page_Load event handler
Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Checking if there is not any PostBack
If Not IsPostBack Then
Try
'Filling DataSet with data
oleDbDataAdapter1.Fill(dataSet11)
'Binding GridWeb with DataSet
GridWeb1.DataBind()
Finally
'Finally, closing database connection
oleDbConnection1.Close()
End Try
End If
End Sub
- تحقق من اضافة الكود إلى معالج حدث “Page_Load”. الكود المضاف إلى معالج حدث “Page_Load”
الخطوة 8: تشغيل التطبيق
قم بتجميع وتشغيل التطبيق: إما اضغط Ctrl+F5 أو انقر على بدء. تشغيل التطبيق
بعد التجميع، يتم فتح صفحة WebForm1.aspx في نافذة المتصفح مع جميع البيانات المحملة من قاعدة البيانات. البيانات المحملة في عنصر تحكم GridWeb من قاعدة البيانات
العمل مع عنصر تحكم GridWeb
عندما يتم تحميل البيانات في عنصر تحكم GridWeb، يوفر للمستخدمين السيطرة على البيانات. ويتم تقديم عدد من أنواع مختلفة من ميزات التلاعب بالبيانات من قبل GridWeb.
التحقق من البيانات
يقوم Aspose.Cells.GridWeb تلقائيًا بإنشاء قواعد التحقق المناسبة لجميع الأعمدة المرتبطة وفقًا لأنواع البيانات المحددة في قاعدة البيانات. انظر نوع التحقق لخلية عن طريق تحريك المؤشر فوقها. التحقق من نوع البيانات للخلية
Here, the selected cell contains the
حذف الصفوف
لحذف صف، حدد صفًا (أو أي خلية في الصف)، انقر بزر الماوس الأيمن وحدد حذف الصف. اختيار خيار حذف الصف من القائمة
ستتم حذف الصف على الفور. بيانات الشبكة (بعد حذف الصف)
تحرير الصفوف
تحرير البيانات في الخلايا أو الصفوف ثم انقر فوق ** حفظ ** أو ** تقديم ** لحفظ التغييرات.
إضافة الصفوف
- لإضافة صف، انقر بزر الماوس الأيمن فوق خلية واختر ** إضافة صف **. اختيار خيار إضافة صف من القائمة
يتم إضافة صف جديد إلى الورقة في نهاية الصفوف الأخرى. تمت إضافة صف جديد إلى الشبكة
At the left of the new row is an asterisk
, indicating that the row is new.
- إضافة قيم إلى الصف الجديد.
- انقر فوق ** حفظ ** أو ** تقديم ** لتأكيد التغيير. *حفظ التغييرات على البيانات عن طريق النقر على زر الحفظ
ضبط تنسيق الأرقام
في الوقت الحالي، تظهر الأسعار في عمود ** سعر المنتج ** كقيم رقمية. من الممكن أن يتم تغيير مظهرها لتبدو وكأنها عملة.
- العودة إلى Visual Studio.NET.
- فتح محرر مجموعة BindColumn. تم تعيين خاصية ** نوع الرقم ** لعمود ** سعر المنتج ** إلى ** عام **. تم تعيين خاصية نوع الرقم إلى عام
- انقر فوق ** DropDownList ** واختر ** Currency4 ** من القائمة. تغيير نوع الرقم إلى Currency4
- قم بتشغيل التطبيق مرة أخرى. القيم في عمود ** سعر المنتج ** الآن هي عملة. أسعار المنتجات بتنسيق العملة
تحرير البيانات
حتى الآن، يسمح التطبيق بعرض بيانات الجدول فقط لمستخدميه. يمكن للمستخدمين تحرير البيانات في عنصر التحكم GridWeb ولكن عند إغلاق المتصفح وفتح قاعدة البيانات، لا يتم تغيير أي شيء. التغييرات التي تم إجراؤها لا تُحفظ في قاعدة البيانات.
المثال التالي يضيف شيفرة إلى التطبيق حتى يتمكن GridWeb من حفظ التغييرات في قاعدة البيانات.
- افتح لوحة الخصائص واختر حدث SaveCommand لعنصر التحكم GridWeb من القائمة. اختيار حدث SaveCommand ل GridWeb
- انقر نقرًا مزدوجًا على حدث SaveCommand وينشئ VS.NET معالج حدث GridWeb1_SaveCommand.
- أضف شيفرة إلى هذا المعالج لتحديث قاعدة البيانات باستخدام أي بيانات معدلة في مجموعة البيانات المقيدة بالجدول باستخدام oleDbDataAdapter1.
C#
//Implementing the event handler for SaveCommand event
private void GridWeb1_SaveCommand(object sender, System.EventArgs e)
{
try
{
//Getting the modified data of worksheet as a DataSet
DataSet dataset = (DataSet)GridWeb1.WorkSheets[0].DataSource;
//Updating database according to modified DataSet
oleDbDataAdapter1.Update(dataset);
}
finally
{
//Closing database connection
oleDbConnection1.Close();
}
}
VB.NET
'Implementing the event handler for SaveCommand event
Private Sub GridWeb1_SaveCommand(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridWeb1.SaveCommand
Try
'Getting the modified data of worksheet as a DataSet
Dim dataset As DataSet = CType(GridWeb1.WorkSheets(0).DataSource, DataSet)
'Updating database according to modified DataSet
oleDbDataAdapter1.Update(dataset)
Finally
'Closing database connection
oleDbConnection1.Close()
End Try
End Sub
يمكنك أيضًا التحقق من الشيفرة المُضافة إلى معالج الحدث GridWeb1_SaveCommand الشيفرة المُضافة إلى معالج الحدث GridWeb1_SaveCommand
يتم حفظ التغييرات في قاعدة البيانات باستخدام زر الحفظ الآن بالتأكيد