البرمجة

تخصيص خيارات البحث في DataTable بتقنية Shiny

عندما يتعلق الأمر بتخصيص واجهة التطبيقات، يصبح الاهتمام بالتفاصيل الدقيقة أمرًا حيويًا لتحقيق تجربة مستخدم فعالة وجذابة. في مشكلتك الحالية، تبحث عن وسيلة لإزالة خيار البحث العام (global search) من جدول البيانات في تطبيق Shiny الخاص بك، مع الحفاظ في الوقت نفسه على خيار البحث في الأعمدة (column search).

لحل هذا الأمر، يجب عليك تحديد بعض الخصائص والإعدادات في مكون DataTable الخاص بـ Shiny. يبدو أن محاولاتك السابقة باستخدام الوسائط مثل searching=FALSE و filtering='none' لم تحقق النتائج المرجوة. هذا يمكن أن يكون بسبب بعض الاختلافات في الإصدارات أو الإعدادات.

لتحقيق الهدف الذي ذكرته، يمكنك استخدام مكتبة DT بشكل أفضل وتحديد بعض الخيارات بشكل دقيق. يمكنك تعطيل خيار البحث العام باستخدام searching = FALSE ومن ثم تمكين خيار البحث في الأعمدة باستخدام columnDefs.

في server.R:

R
library("shiny") library("DT") data(iris) shinyServer(function(input, output) { output$tabelka <- DT::renderDataTable({ datatable( iris, filter = "top", selection = "multiple", escape = FALSE, options = list( searching = FALSE, columnDefs = list(list( targets = "_all", searchable = TRUE )) ) ) }) })

وفي ui.R:

R
library("shiny") library("DT") shinyUI(fluidPage( DT::dataTableOutput("tabelka") ))

مع هذه الإعدادات، يجب أن يتم إزالة خيار البحث العام، وفي الوقت نفسه يجب السماح بالبحث في الأعمدة. يمكنك تعديل هذه الكود واختباره في تطبيق Shiny الخاص بك للتحقق من تحقيق النتائج المرجوة.

المزيد من المعلومات

بالطبع، دعونا نعزز المفهوم بمزيد من المعلومات حول الكود وكيف يعمل. في البداية، يتم استيراد مكتبتي “shiny” و”DT”، حيث تعد مكتبة “shiny” أحد أدوات تطوير واجهة المستخدم الرائعة للغاية في R، في حين تعتبر مكتبة “DT” مكتبة قوية لإنشاء جداول البيانات الديناميكية.

تم استخدام مجموعة الأكواد في “server.R” لإعداد البيئة الخلفية للتطبيق. يتم استخدام shinyServer لتعريف الوظائف المرتبطة بالخادم. يتم إنشاء DataTable باستخدام datatable، وهنا تأتي الإعدادات الرئيسية.

  1. filter = "top": يوضح هذا الإعداد أن صندوق البحث سيظهر في الجزء العلوي من الجدول.
  2. selection = "multiple": يسمح باختيار متعدد للصفوف في الجدول.
  3. escape = FALSE: يمنع الهروب التلقائي للنصوص، وهو مفيد عندما تريد عرض HTML أو تنسيقات أخرى داخل الجدول.

ثم يتم تحديد الخيارات الفرعية باستخدام options. searching = FALSE يعطل خيار البحث العام، وcolumnDefs يمكننا من تخصيص السلوك لكل عمود. في هذا السياق، يتم تحديد searchable = TRUE لجميع الأعمدة باستخدام targets = "_all".

في الجهة الأمامية (ui.R)، يتم استيراد المكتبة وتعريف واجهة المستخدم باستخدام fluidPage، ويتم استخدام DT::dataTableOutput("tabelka") لعرض الجدول الذي تم إعداده في الجزء الخلفي.

هذه الإعدادات تضمن أن يتم إزالة خيار البحث العام من جدول البيانات، وفي الوقت نفسه يتيح للمستخدمين البحث في الأعمدة بسهولة. يتم تحديد الخيارات بعناية لضمان التوازن بين التخصيص والوظائف الأساسية لتحسين تجربة المستخدم.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر