[Arabic] Using JQuery Datatable in ASP.NET Core - Server-Side Processing [Part 1]

Поделиться
HTML-код
  • Опубликовано: 1 окт 2024
  • Original article = www.codewithmu...
    Github = github.com/muh...
    Dummy data generator = www.mockaroo.com/
    Packages:
    - Microsoft.EntityFrameworkCore
    - Microsoft.EntityFrameworkCore.Tools
    - Microsoft.EntityFrameworkCore.SqlServer
    - Microsoft.EntityFrameworkCore.Design
    - Microsoft.VisualStudio.Web.CodeGeneration.Design
    - System.Linq.Dynamic.Core

Комментарии • 58

  • @ahmedgalal1856
    @ahmedgalal1856 2 года назад +1

    شكراً جزيلا على الشرح البسيط، عجبني جداً إنك بتكتب كل حاجة في المشروع بإيديك تقريباً، وبتشرح كل كلمة بنكتبها ليه، مش بتعتمد على إن ال VS فيه حاجات كتيرة جاهزة وسريعة وبتختصر الوقت، النقطة دي فرقت معايا جدا في فهم تفاصيل صغيرة كتيرة ماكنتش باخد بالي منها، جزاك الله خيراً وبالتوفيق دائما إن شاء الله ❤❤❤

    • @DevCreed
      @DevCreed  2 года назад

      تسلم يا رب على كلامك الجميل ❤️❤️

  • @mmramohamed2780
    @mmramohamed2780 3 года назад +2

    مبدع جدا ومواضيع موفقه
    اتمنى نشوف Blazor بالاسلوب المميز دا

    • @DevCreed
      @DevCreed  3 года назад +1

      شكرا جدا لذوقك
      بإذن الله في القريب نبدأ في مشروع باستخدام Blazor

    • @mmramohamed2780
      @mmramohamed2780 3 года назад

      @@DevCreed فى انتظار حضرتك فى كل حاجه

  • @samiasaid4201
    @samiasaid4201 3 года назад

    لو انا هطبقة علي مشروع mvc عادي هكتب مع url: "/api/customers " هكتب url: " ~/cutomers" صح ولا ايه

    • @DevCreed
      @DevCreed  3 года назад

      لا من غير ~

  • @إيادالظاهر-ذ7ي
    @إيادالظاهر-ذ7ي Год назад

    يعطيك العافيه على الشرح بس لو تكبر الخط نشوف

    • @DevCreed
      @DevCreed  Год назад +1

      تسلم يا رب ❤️
      ده كان في اول فيديو في القناة بعدها كبرت الخط

  • @modexl61
    @modexl61 4 месяца назад

    thank youuuuu

    • @DevCreed
      @DevCreed  4 месяца назад

      You are welcome 🙏🏻

  • @ibrahimnourel-din7265
    @ibrahimnourel-din7265 2 года назад

    لو سمحت هو مافيش شرح من بداية ال asp.net core من البداية خالص

    • @DevCreed
      @DevCreed  2 года назад

      بجهزله
      دعواتك يكون جاهز قريب بإذن الله

  • @fayezelkenawy4766
    @fayezelkenawy4766 3 года назад +1

    تسلم علي الشرح الجميل ده
    بس دايما بيجيب معايا الرساله دي
    no matching records found
    وانا لسه بلوود الداتا في البدايه

    • @DevCreed
      @DevCreed  3 года назад +1

      تسلم يا رب ❤️
      يا ريت لو تقدر تحط الكود بتاعك

    • @fayezelkenawy4766
      @fayezelkenawy4766 3 года назад

      @@DevCreed ده is
      $(document).ready(function () {
      $('#Productstableview').DataTable({
      "processing": true,
      "serverSide": true,
      "ajax": {
      "url": "/api/ProductsApi",
      "type": "Post",
      "datatype": "json",
      "dataFilter": "",
      "dataSrc": ""
      },
      "columns": [
      { "data": "productId", "name": "ProductId", "autowidth": true },
      { "data": "arabicName", "name": "ArabicName", "autowidth": true },
      { "data": "englishName", "name": "EnglishName", "autowidth": true },
      { "data": "model", "name": "Model", "autowidth": true },
      { "data": "desc", "name": "Desc", "autowidth": true },
      { "data": "cost", "name": "Cost", "autowidth": true },
      { "data": "salesPrice", "name": "SalePrice", "autowidth": true },
      { "data": "balance", "name": "Balance", "autowidth": true }
      ]
      });
      });
      ده controller
      [HttpPost]
      public IActionResult ProductsList()//for data table
      {
      var pageSize = int.Parse(Request.Form["length"]);
      var skip = int.Parse(Request.Form["start"]);
      var draw = Request.Form["draw"].FirstOrDefault();
      var searchValue = Request.Form["search[value]"];
      var sortColumn = Request.Form[string.Concat("columns[", Request.Form["order[0][column]"], "][name]")];
      var sortColumnDirection = Request.Form["order[0][dir]"];
      IQueryable products = _context.Products.Where(m => string.IsNullOrEmpty(searchValue)
      ? true
      : (m.ProductId.Contains(searchValue) || m.ArabicName.Contains(searchValue) || m.EnglishName.Contains(searchValue) || m.Desc.Contains(searchValue)));
      if (!(string.IsNullOrEmpty(sortColumn) && string.IsNullOrEmpty(sortColumnDirection)))
      products = products.OrderBy(string.Concat(sortColumn, " ", sortColumnDirection));
      var readProduct = (_mapper.Map(products)).Skip(skip).Take(pageSize).ToList();
      var allrecords = products.Count();
      var jsonData = new { draw = int.Parse(draw), recordsFiltered = allrecords, recordsTotal=allrecords, data=readProduct };
      return Ok(jsonData);
      }

    • @DevCreed
      @DevCreed  3 года назад

      طيب ممكن توريني اسم الcontroller
      كمان معلش سؤال تاني انت حطيت داتا في الداتا بيز؟

    • @fayezelkenawy4766
      @fayezelkenawy4766 3 года назад

      @@DevCreed using AutoMapper;
      using Domain.Data;
      using Domain.Interfaces;
      using Domain.Models;
      using Domain.ViewModels;
      using Microsoft.AspNetCore.Mvc;
      using System.Collections.Generic;
      using System.Linq;
      using System.Linq.Dynamic.Core;
      namespace ERP.Controllers
      {
      [Route("api/[controller]")]
      [ApiController]
      public class ProductsApiController : ControllerBase
      {
      private readonly ApplicationDbContext _context;
      private readonly Irepository productrepo;
      private readonly IMapper _mapper;
      public ProductsApiController(ApplicationDbContext context, Irepository productrepo, IMapper mapper)
      {
      _context = context;
      this.productrepo = productrepo;
      _mapper = mapper;
      }
      [HttpPost]
      public IActionResult ProductsList()//for data table
      {
      var pageSize = int.Parse(Request.Form["length"]);
      var skip = int.Parse(Request.Form["start"]);
      var draw = Request.Form["draw"].FirstOrDefault();
      var searchValue = Request.Form["search[value]"];
      var sortColumn = Request.Form[string.Concat("columns[", Request.Form["order[0][column]"], "][name]")];
      var sortColumnDirection = Request.Form["order[0][dir]"];
      IQueryable products = _context.Products.Where(m => string.IsNullOrEmpty(searchValue)
      ? true
      : (m.ProductId.Contains(searchValue) || m.ArabicName.Contains(searchValue) || m.EnglishName.Contains(searchValue) || m.Desc.Contains(searchValue)));
      if (!(string.IsNullOrEmpty(sortColumn) && string.IsNullOrEmpty(sortColumnDirection)))
      products = products.OrderBy(string.Concat(sortColumn, " ", sortColumnDirection));
      var readProduct = (_mapper.Map(products)).Skip(skip).Take(pageSize).ToList();
      var allrecords = products.Count();
      var jsonData = new { draw = int.Parse(draw), recordsFiltered = allrecords, recordsTotal=allrecords, data=readProduct };
      return Ok(jsonData);
      }
      }
      }

    • @fayezelkenawy4766
      @fayezelkenawy4766 3 года назад

      @@DevCreed ايوه حطيت اكتر من 50000 ريكورد

  • @ayasaied8205
    @ayasaied8205 2 года назад

    الشرح اكيد تحفه ربنا يباركلك يابشمهندس بس الخط صغير اوووي

    • @DevCreed
      @DevCreed  2 года назад

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

  • @MiddleEastSoftware
    @MiddleEastSoftware 3 года назад

    مشاء الله شرحك رائع وجزاك الله كل خير
    ممكن استفسار
    هذه الاداة مجانية؟

    • @DevCreed
      @DevCreed  3 года назад

      جزانا واياكم يا رب
      نعم مجانية

  • @kareemzarif3008
    @kareemzarif3008 6 месяцев назад

    عندك موهبة توصيل المعلومة / بتخلي التعليم كدا لذيذ ورايق😎

    • @DevCreed
      @DevCreed  4 месяца назад

      تسلم يا رب ❤️

  • @DevMan88
    @DevMan88 2 года назад

    لو يابشمهندس تقدر نعمل موقع كامل
    admin page و front end
    تصميم لموقع نطبق عليه ابني له لوحة تحكم كاملة شكرا او لو مفيش إمكانية هل في شرح تفضله لي حتى لو مش مجاني. و شكرا

    • @DevCreed
      @DevCreed  2 года назад +1

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

    • @DevMan88
      @DevMan88 2 года назад

      @@DevCreed شكرا جزاك الله خير يارب

    • @DevCreed
      @DevCreed  2 года назад

      عفوا ❤️

  • @omarfathy1795
    @omarfathy1795 4 года назад +1

    عاش شرح رائع يابشمهندس ياريت تكمل كورس كامل

    • @DevCreed
      @DevCreed  4 года назад +2

      عمر فتحى ربنا يكرمك ده من ذوقك بإذن الله هنزل فيديوهات تانية قريب ونعمل project كبير مع بعض

    • @computerscience5
      @computerscience5 2 года назад

      @@DevCreed فين البروجكت الكبير اللى هنعمله مع بعض

  • @computerscience5
    @computerscience5 2 года назад

    بصراحه يابشمهندس شرحك مميز ورائع بجد

    • @DevCreed
      @DevCreed  2 года назад

      ده بس من ذوقك ❤️

  • @husseinohmayed4578
    @husseinohmayed4578 Месяц назад

    سؤالي يا استاذ لو كانت الداتا ١٠ الف ريكورد يصير تاخير بالريندر؟

    • @DevCreed
      @DevCreed  Месяц назад

      لو شغال server side مش هيفرق حجم الداتا لانك بتحدد حد أقصى

    • @husseinohmayed4578
      @husseinohmayed4578 Месяц назад

      @@DevCreed اذا احدد ما رح اوصل للداتا كلها؟

    • @DevCreed
      @DevCreed  Месяц назад

      صحيح

    • @husseinohmayed4578
      @husseinohmayed4578 Месяц назад

      @@DevCreed عامتا دائما شرحك مميز عن الجميع بارك الله بيك واسئل الله لك التوفيق
      سؤالي الثاني تفضل angular or react مع .net من الافضل واكثر مرونه

    • @DevCreed
      @DevCreed  Месяц назад +1

      وفيكم بارك يا رب تسلم ❤️
      مجرد تفضيل شخصي افضل react

  • @shabanelmogy7912
    @shabanelmogy7912 Год назад

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

  • @mohamedgenaidy9241
    @mohamedgenaidy9241 2 года назад

    انت عظيم اقسم بالله انا بعد كدا اى حاجة هبحث فى قناتك الاول

    • @DevCreed
      @DevCreed  2 года назад

      تسلم يا رب ده بس من ذوقك ❤️

  • @abdelrahmangamalaboukandil5460
    @abdelrahmangamalaboukandil5460 4 года назад

    Great topic will help alot of people

  • @karimmohamed3029
    @karimmohamed3029 4 года назад

    Great job 😍😍👍👍

  • @ebrahim-s-ebrahim
    @ebrahim-s-ebrahim Год назад

    شكرا جدا فيديو هايل

    • @DevCreed
      @DevCreed  Год назад

      تسلم يا رب ❤️

  • @samiasaid4201
    @samiasaid4201 3 года назад

    شرح اكتر من رائع جزاك الله كل خير

    • @DevCreed
      @DevCreed  3 года назад

      جزانا واياكم يا رب ❤️

  • @adhammoamer4835
    @adhammoamer4835 3 года назад

    Thanks a lot

    • @DevCreed
      @DevCreed  3 года назад +1

      You are welcome my friend ☺️