مكون جدول بيانات جافا سكريبت مجاني للتقديم والمعالجة السريعة
يسمح مكون جدول بيانات جافا سكريبت مفتوح المصدر بالعرض السريع وإدارة الصفوف وتحجيم العمود تلقائيًا ومعالجة الخلايا وما إلى ذلك.
يتيح مكون شبكة / جدول بيانات جافا سكريبت مفتوح المصدر وسريع للغاية لمطوري البرامج إنشاء شبكات غنية باستخدام عناصر تحكم وشاشات مخصصة. يدعم المكون العرض الافتراضي الذي يمكّن المستخدمين من العمل مع مئات الآلاف من العناصر دون أي انخفاض في الأداء. مما يعني أن SlickGrid قادر على التعامل مع شبكة بها 100 صف أو 100 ألف صف دون المساس بالأداء. في السابق كان يستخدم لدعم jQuery UI Themes ولكن من SlickGrid 3.0.0 ، قام الفريق بإزالة جميع التعليمات البرمجية ذات الصلة واستبدالها بأحدث SortableJS.
مكون SlickGrid قابل للتخصيص بالكامل ويوفر سرعة عرض سريعة للغاية. يحتوي المكون على العديد من الميزات المهمة لإدارة جداول البيانات ، مثل عرض جداول البيانات ، وعرض ما بعد الخلفية للخلايا الأكثر ثراءً ، والتنقل بلوحة المفاتيح ، وتغيير حجم الأعمدة ، وإعادة ترتيب الأعمدة ، وإظهار / إخفاء الأعمدة أو الصفوف ، وإدراج صفوف جديدة ، وتحرير صفوف جديدة ، وتعدد محرري الحقول مع دعم التراجع / الإعادة ، وإضافة التنسيق والأنماط وما إلى ذلك. وهو متوافق مع الأطر التي تركز على البيانات ومع Bootstrap
الشروع في العمل مع SlickGrid
الطريقة الموصى بها لتثبيت SlickGrid ، هي استخدام npm ، لتثبيت SlickGrid ، ما عليك سوى إضافة علامة البرنامج النصي التالية في المستعرض.
قم بتثبيت SlickGrid عبر npm
npm install slickgrid
يمكنك تنزيل المكتبة المشتركة المجمعة من مستودع GitHub وتثبيتها.
كيفية دمج الخلايا باستخدام JavaScript API؟
يعد دمج الخلايا داخل جدول بيانات ميزة مفيدة للغاية والتي غالبًا ما تستخدم لتوسيط النص عبر عدة صفوف أو أعمدة ويمكن أن يكون مفيدًا في دمج سلاسل البيانات لخليتين أو أكثر. والغرض الرئيسي منه هو جعل البيانات قابلة للعرض وقابلة للقراءة للمستخدم النهائي. يسمح مكون جافا سكريبت SlickGrid مفتوح المصدر لمطوري البرامج بدمج خلايا أو صفوف أو أعمدة متعددة داخل تطبيقات JavaScript الخاصة بهم.
دمج خلايا جدول البيانات عبر JavaScript API
function VerCellMergedFormatter(row, cell, value, columnDef, dataContext) {
var options = window._renderOptions;
if (options.lastRendering != 1) {
return;
}
var items = window.getRenderDataItmes();
var fieldName = columnDef.field;
var rowsLength = items.length;
var currentItem = items[row];
var nextRowIndex = row + 1;
if (nextRowIndex < rowsLength){
var nextValue = items[nextRowIndex][fieldName];
if (value == nextValue) {
if (!options.changedCells[row]) {
options.changedCells[row] = {};
}
options.changedCells[row][fieldName] = "noneline-bottom";
options.isNextMerged = 1;
return value;
}
else {
if (options.isNextMerged == 1) {
options.isNextMerged = 0;
return;
}
}
}
return value;
}
تحرير أعمدة جدول البيانات والصفوف والخلايا عبر JS
يمكّن مكون SlickGrid مطوري البرامج من التعامل مع خلايا جداول البيانات بطرق مختلفة داخل تطبيقات JavaScript الخاصة بهم. قدمت المكتبة العديد من الميزات المهمة للتعامل مع خلايا جداول البيانات والأعمدة والصفوف مثل إدراج خلايا جديدة وتحرير الخلايا الموجودة وحذف الخلايا غير المرغوب فيها. كما قدم دعمًا لأعمدة التحجيم التلقائي ، وتغيير حجم الأعمدة والصفوف وإعادة ترتيبها وعرضها وإخفائها باستخدام أوامر JavaScript.
أضف صفًا جديدًا وانقر لتحرير الخلية عبر JavaScript API
var d = $scope.$grid.grid.getData();
$scope.$grid.grid.invalidateRow(d.length);
//Adds the new row as the first row.
d.unshift(item);
$scope.$grid.grid.updateRowCount();
$scope.$grid.grid.setData(d);
$scope.selectedRows = [];
$scope.selectedRows = [0];
//Sets the first row and first column as editable by clicking on it
$scope.$grid.grid.setActiveCell($scope.selectedRows,0);
//$scope.$grid.grid.gotoCell(0,0,true);
var grid = $scope.$grid.grid;
var row = $scope.selectedRows[0];
var col = 0;
grid.setActiveCell(row, col);
grid.editActiveCell(Slick.Acsiom.Editors.Text);
تحجيم العمود التلقائي عبر JavaScript API
يوفر مكون SlickGrid مفتوح المصدر ميزة مفيدة للغاية لتطبيق تغيير حجم العمود التلقائي داخل تطبيقات JavaScript. يوفر واجهة برمجة تطبيقات لتخصيص الأعمدة تلقائيًا تمكن الشبكة من إجراء تحديدات ذكية حول عرض أعمدتها بناءً على محتوى الخلية للرأس والصفوف. يرجى تذكر أنه يجب توفير البيانات للتحجيم التلقائي وأنه يجب أن تكون هناك بيانات موجودة لاختبار الحجم لأنه من الصعب جدًا أن تعمل خوارزمية التحجيم الآلي بدون أي بيانات.