سلام من یه کندو گرید و یه کمبوباکس دارم
به صورت زیر است
ببینید به طور پیش فرض وقتی وارد view میشم گرید رو پر میکنم به صورت زیر کدهاش هست
public ActionResult BuildingUnitProperties() { return View(); } public ActionResult AllUnit([DataSourceRequest] DataSourceRequest request) { DataSourceResult result = new DataSourceResult(); try { dbCMSEntities xx = new dbCMSEntities(); int id = 0; if (HttpContext.Application.Count > 0 && HttpContext.Application["build_id"] != null) id = (int)HttpContext.Application["build_id"]; var build = xx.BuildingProperties.Where(c => c.BuildingProperties_id == id).FirstOrDefault(); if (build != null) { decimal charje = build.BuildingProperties_DefaultCharge != null ? build.BuildingProperties_DefaultCharge.Value : 0; var Blockk = xx.Block.Where(c => c.Block_BuildingProperties_id == id).ToList(); if (Blockk.Count > 0) { List<BuildingUnitProperties> res = new List<BuildingUnitProperties>(); BuildingUnitProperties unitt; short row = 1; byte DefaultByte = 0; short DefaultShort = 0; int blockid = Blockk[0].Block_id; var Allunitt = xx.Unit.Where(c => c.Unit_BlockId == blockid).ToList(); foreach (var item in Allunitt) { unitt = new BuildingUnitProperties(); unitt.Row = row; unitt.id = item.Unit_id; unitt.Floor = item.Unit_Floor != null ? item.Unit_Floor.Value : DefaultByte; unitt.Description = item.Unit_Description; unitt.Title = item.Unit_Title; unitt.Warehouse = item.Unit_Warehouse != null ? item.Unit_Warehouse.Value : DefaultByte; unitt.NumberResidents = item.Unit_NumberResidents != null ? item.Unit_NumberResidents.Value : DefaultByte; unitt.NumberParking = item.Unit_NumberParking != null ? item.Unit_NumberParking.Value : DefaultByte; unitt.Number = item.Unit_Number != null ? item.Unit_Number.Value : DefaultByte; unitt.Area = item.Unit_Area != null ? item.Unit_Area.Value : DefaultShort; unitt.Charje = charje; unitt.BlockCount = 1; row++; res.Add(unitt); } result = res.ToDataSourceResult(request); } } xx.Dispose(); } catch (Exception) { } return Json(result); }
تا اینجا مشکلی نیست، کمبوباکسم در ابتدا پر میکنم اینم کدش
public JsonResult FullBlocks() { try { int id = 0; if (HttpContext.Application.Count > 0 && HttpContext.Application["build_id"] != null) id = (int)HttpContext.Application["build_id"]; dbCMSEntities cn = new dbCMSEntities(); var AllBlock = cn.Block.Where(c => c.Block_BuildingProperties_id == id).ToList(); if (AllBlock.Count > 0) { var all = AllBlock.Select(c => new { Name = c.Block_Name, id = c.Block_id }); return Json(all, JsonRequestBehavior.AllowGet); } else { return Json(null, JsonRequestBehavior.AllowGet); } } catch (Exception) { return Json(null, JsonRequestBehavior.AllowGet); } }
حالا میخوام وقتی کمبوباکس آیتم هاش عوض شد محتوای داخل گرید هم عوض بشه باید چیکار کنم؟
اینم کد viewمربوط به کمبو باکس کندو
@(Html.Kendo().DropDownListFor(model => model.Block_id) .Name("Block_id") .DataSource(builder => { builder.Read(operationBuilder => { operationBuilder.Action("FullBlocks", "Building"); }); }) .DataTextField("Name") .DataValueField("Id") )
آقای مدائنی یه راهنمایی هم کنید من میگیرم دیگه کل اینترنت رو من گشتم به نتیجه نرسیدم
ممنونم از پاسخ گویی همیشه خوبتون
نمونه های زیر میتونه کمکتون کنه
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)