با عرض سلام
دوستان من یک گرید کندو دارم که اعمال edit, delete را به خوبی انجام میده اما برای اضافه کردن ، سطر را اضافه میکنه اما در گرید نمایش نمیده، حتما باید رفرش کنی تا داده به گرید اضافه میشه
اگه میشه بگید چطوری اتوماتیک اون گرید رفرش بشه و دوره داده هارو رید کنه؟؟
اگه لازمه هم بگید تا کد هامو واستون بذارم تا بهتر متوجه بشید
با تشکر از سایت خوبتون
با Ajax کار کردید ؟
نه ،با دستورات معمل کندو ، فکر میکنم خود کندو با AJAX کار میکنه
اما من به طور مستقیم نه ، اصلا در این پروژه با ایجکس کار نکردم ، چطور؟
شما میتونیدGrid را در یک partialView پیاده سازی کنید و پس از ثبت از طریق Ajax این پارشیال را فراخوانی کنید و در صفحه نمایش بدید
با تشکر از جوابتون
ببخشید partialView چیه؟
وب فرم هم partialView داره؟
عذر خواهی میکنم فکر کردم MVC کار میکنید
میتونید userControl بسازید به جای Partial
آقای مدائنی لطفا یخورده سطح پایین تر بگید
partial چیه؟
واسه چی یوزر کنترل بسازم ؟
این کد منه $(document).ready(function () { $("#ggg").kendoGrid({ dataSource:({ transport: { destroy: { url: function (Major) { return "api/Major/" + "DeleteMajor/" + Major.MajorId; }, // url: "api/Major/" + "DeleteMajor", dataType: "json", contentType: "application/json; charset=utf-8", type: "DELETE" }, read: { url: "api/Major/" + "GetMajor", dataType: "json", contentType: "application/json; charset=utf-8", type: "GET" }, update: { url: function (Major) { return "api/Major/" + "EditMajor/" + Major.MajorId; }, //"api/Major/" + "EditMajor/", dataType: "json", contentType: 'application/json; charset=utf-8', type: "PUT", save: function () { this.refresh(); this.read(); kendo.DataSource.read(); } }, create: { url: "api/Major/" + "CreateMajor/", dataType: "json", contentType: 'application/json; charset=utf-8', type: "POST", save: function () { this.refresh(); this.read(); kendo.DataSource.read(); } }, parameterMap: function (options) { return kendo.stringify(options); } }, save: function () { this.refresh(); this.read(); kendo.DataSource.read(); }, error: function (e) { document.getElementById("demo").innerHTML = e.errorThrown.stack; }, schema: { model: { id: "MajorId", fields: { MajorId: { editable: false, type: "number" }, name: { validation: { required: true }, type: "string" }, Description: { type: "string" } } } }, batch: false, pageSize: 10, sort: { field: "MajorId", dir: "desc" } }), //---------------------end data sourde height: 550, autoBind: true, scrollable: false, pageable: true, sortable: true, pageSize: 10, filterable: true, reorderable: true, columnMenu: true, toolbar: [{ name: "create", text: "ایجاد رشته جدید" }], columns: [ { field: "MajorId", title: "کد رشته", width: "100px" }, { field: "Name", title: "نام رشته", format: "{0:c}", width: "140px", validation: { required: true } }, { field: "Description", title: "توضیحات", width: "420px" }, { command: [{ name: "edit", text: "ویرایش" }, { name: "destroy", text: "حذف" }], title: " ", width: "250px" } ], editable: { confirmation: "آیا مایل به حذف ردیف انتخابی هستید؟", destroy: true, // whether or not to delete item when button is clicked mode: "popup", // options are "incell", "inline", and "popup" //template: kendo.template($("#popupEditorTemplate").html()), // template to use for pop-up editing update: true, // switch item to edit mode when clicked? create: true, window: { title: "مشخصات محصول" // Localization for Edit in the popup window } }, messages: { editable: { cancelDelete: "لغو", confirmation: "آیا مایل به حذف این رکورد هستید؟", confirmDelete: "حذف" }, commands: { create: "ایجاد رشته جدید", cancel: "لغو کلیهی تغییرات", save: "ذخیرهی تمامی تغییرات", destroy: "حذف", edit: "ویرایش", update: "ثبت", canceledit: "لغو" } } }).data("kendoGrid");
Partial همان UserControl در MVC هست
بله میتونید UserControl ایجاد کنید و گرید را داخل اون قرار دهید و پس از ثبت این UserControl را مجدد بارگذاری کنید
ممنون آقا ایمان، تنکس
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)