مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

محمد ملکی

عضویت از 1394/03/02

آپدیت شدن کندو گرید با انتخاب آیتم از کمبوباکس

  • یکشنبه 23 خرداد 1395
  • 09:20
تشکر میکنم

سلام من یه کندو گرید و یه کمبوباکس دارم

به صورت زیر است

ببینید به طور پیش فرض وقتی وارد 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")
          
            )

آقای مدائنی یه راهنمایی هم کنید من میگیرم دیگه کل اینترنت رو من گشتم به نتیجه نرسیدم

ممنونم از پاسخ گویی همیشه خوبتون

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • یکشنبه 23 خرداد 1395
  • 10:31
کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)