PDA

View Full Version : نحوه ی استفاده از کمبو باکسdevexpress در mvc4



نیکناز
دوشنبه 31 تیر 1392, 23:16 عصر
سلام
می شه بگید چه جوری می تونم یه کمبو از کامپوننت های DevExpress رو در mvc4 به کار ببرم ؟
کمبویی که به دیتا بیس بایند هست .
اگه یه sample بزارید که واقعا لطف می کنید .

ali_autumnal
شنبه 05 مرداد 1392, 13:11 عصر
برای ایجاد Combobox یا در MVC میگن DropDownList می تونید به این روش استفاده کنید

برای مثال: می خواهیم در هنگام ایجاد نام کاربری برای نوع جنسیت یک کمبوباکس بزاریم : بدون استفاده از دیتابیس


public class RegisterModel
{
public RegisterModel()
{
Sexlistitems = new List<System.Web.Mvc.SelectListItem>(2);
System.Web.Mvc.SelectListItem item1 = new System.Web.Mvc.SelectListItem();
item1.Text = "مرد";
item1.Value = item1.Text;
item1.Selected = false;
Sexlistitems.Add(item1);

System.Web.Mvc.SelectListItem item2 = new System.Web.Mvc.SelectListItem();
item2.Text = "زن";
item2.Value = item2.Text;
item2.Selected = false;
Sexlistitems.Add(item2);
}
public string Sex { set; get; }
public List<System.Web.Mvc.SelectListItem> Sexlistitems{set;get;}
}


در Ation کنترلر مربوطه به صورت زیر عمل می کنیم


public ActionResult Register()
{
return View(new RegisterModel());
}


در View مربوطه بصورت زیر استفاده می کنیم


@model FolksNewsClub.Models.RegisterModel
...
@Html.LabelFor(m => m.Sex)
@Html.DropDownListFor(m=>m.Sex,Model.Sexlistitems)


با استفاده از دیتابیس:
همین مدل بدون سازنده کلاس


public class RegisterModel
{
public string Sex { set; get; }
public List<System.Web.Mvc.SelectListItem> Sexlistitems{set;get;}
}


در Ation کنترلر مربوطه کد زیر رو می نویسیم:



public ActionResult Register()
{
var item=new RegisterModel
{
Sexlistitems= db.SexType.ToList()
};
return View(item);
}



در View مربوطه باز به همون شکل قبلی که در بالا نوشتم

R_Rajaee_Rad
شنبه 05 مرداد 1392, 18:10 عصر
کامپونت های third-party مثل تلریک یا جانوس یا همین devexpress توی mvc پیدا میشن؟
استفاده ازشون توصیه میشه؟

ali_autumnal
شنبه 05 مرداد 1392, 23:10 عصر
واقعیت اش من از هیچ کامپوننتی در وب استفاده نمی کنم. نیازی نداریم وقتی HTML5 , CSS3 , JQuery رو داریم.

نیکناز
یک شنبه 06 مرداد 1392, 21:11 عصر
راستش من از کمبو Kendo استفاده کردم .
ولی یه مشکلی هست . یه سری کد تو کمبوی من لود می شن .
من کجا رو دارم اشتباه می کنم .اسکریپت ها و سی اس اس های زیر رو تو head گذاشتم .


<link rel="stylesheet" href="@Url.Content("~/Content/kendo/kendo.rtl.min.css")">
<link rel="stylesheet" href="@Url.Content("~/Content/kendo/kendo.common.min.css")">
<link rel="stylesheet" href="@Url.Content("~/Content/kendo/kendo.default.min.css")">

<script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")"></script>
<script src="@Url.Content("~/Scripts/jquery-migrate-1.1.1.min.js")"></script>
<script src="@Url.Content("~/Scripts/kendo/kendo.web.min.js")"></script>
<script src="@Url.Content("~/Scripts/kendo/kendo.aspnetmvc.min.js")"></script>


ولی تو کمبو مربوط به انتخاب تیم یه همچین چیزایی لود می شه :


تیم منتخب
<input data-val="true" data-val-number="The field id_team must be a number." id="id_team" name="id_team" type="text"/> <script> jQuery(function(){jQuery("#id_team").kendoDropDownList({"dataSource":[{"Text":"استقلال","Value":"1"},{"Text":"پیروزی","Value":"2"}],"dataTextField":"Text","dataValueField":"Value"});}); </script>;

نیکناز
پنج شنبه 10 مرداد 1392, 00:14 صبح
چرا هیچ کس جواب منو نمی ده ؟

من تو کنترلرم وقتی بریک پوینت می زارم می بینم اطلاعات و از جدول می خونه .
ولی موقع نمایش هست که اینجوری نشون می ده .
جدید ترین ورژن سی اس اس ها و اسکریپت های Kendo رو امتحان کردم ...
نمی دونم من فک می کنم ممکنه اینا با هم تداخل داشته باشند .
یا جای بدی تعریفشون می کنم که البته هرجا هم می زارم بی تاثیره .

میشه لطف کنید دوستان ، یه نظری بدید .

younesdoost
پنج شنبه 10 مرداد 1392, 11:52 صبح
می خواید کدای کنترلر و قسمت لیست باکستون رو به ما نشون بدید شاید اونطوری راحت تر بشه نظر داد و زودتر به جواب برسید.

نیکناز
پنج شنبه 10 مرداد 1392, 14:56 عصر
یه کلاس UsersClass دارم :




public class UsersClass
{
public class RelatedFeaturesToRegister : tbl_profile
{
public List<tbl_ostan> tbl_ostan { get; set; }
public List<tbl_team> tbl_team { get; set; }
}

public static bool creatUser(string username, string pass, string nam, string lname, string cod_meli , string telephone, long? id_team, DateTime? tarikh_tavalod , long? id_ostan)
{
try
{

using (var db = new SportContext())
{
var tbl = new tbl_profile
{
username = username,
password_User = pass,
nam = nam,
lname = lname,
cod_meli = cod_meli,
id_team = id_team,
tarikh_tavalod = tarikh_tavalod
id_ostan= id_ostan;
};
db.tbl_profile.Add(tbl);
db.SaveChanges();

}
return true;
}
catch
{
return false;
}
}


}




کترلرم :





public ActionResult Register()
{

SportContext db = new SportContext ();
var AllFeature = new UsersClass.RelatedFeaturesToRegister();
AllFeature.tbl_ostan = db.tbl_ostan.ToList();
AllFeature.tbl_team = db.tbl_team.ToList();
return View(AllFeature);


}
[HttpPost]
public ActionResult Register(UsersClass.RelatedFeaturesToRegister model)
{
if (ModelState.IsValid)
{
UserClass.creatUser(model.username, model.pass, model.nam, model.lname, model.cod_meli,model.id_team, model.tarikh_tavalod, model.id_ostan);
}


return View();


}




ویو :



@model Sport.Models.UsersClass.RelatedFeaturesToRegister
@using Kendo.Mvc.UI
@{



<script src="../Scripts/jquery-1.9.1.js"></script>
<script src="../Scripts/kendo/kendo.web.min.js"></script>
<script src="../Scripts/kendo/kendo.aspnetmvc.min.js"></script>
<script src="../Scripts/jquery-migrate-1.1.1.min.js"></script>

<link rel="stylesheet" href="@Url.Content("~/Content/kendo/2013.2.716/kendo.rtl.min.css")">
<link rel="stylesheet" href="@Url.Content("~/Content/kendo/2013.2.716/kendo.common.min.css")">
<link rel="stylesheet" href="@Url.Content("~/Content/kendo/2013.2.716/kendo.default.min.css")">




@using (Html.BeginForm())
{





@Html.ValidationSummary(true)
@Html.AntiForgeryToken()

<label class="control-label" for="id_team">تیم منتخب</label>

@Html.Kendo().DropDownList().Name("id_team").BindTo(Model.tbl_team.Select(c=>new SelectListItem{Text = c.team, Value = c.id.ToString()}))

<label for="inputEmail"><span class="required">*</span>انتخاب استان</label>

@Html.Kendo().DropDownList().Name("id_ostan").BindTo(Model.tbl_ostan.Select(c => new SelectListItem()
{
Text = c.ostan,
Value = c.id.ToString()
}))

}

نیکناز
پنج شنبه 10 مرداد 1392, 15:01 عصر
البته تو بروزر موزیلا ، Inspect element می زنم :
windows.kendo is undefiend رو می بینم .

که من ورژنهای jquery رو از 1.7 به 1.8 ، به 1.9 تغییر دادم ولی بی نتیجه بود .
جا شونم تغییر دادم اما ...