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

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

کاربر سایت

kapitan

عضویت از 1395/04/26

ایجاد شماره ردیف در gridmvc

  • شنبه 26 تیر 1395
  • 19:14
تشکر میکنم

با سلام خدمت تمامی دوستان عزیز

من توی gridmvc یه مشکل دارم اونم اینه که نمیتونم شماره ردیف تولید کنم

البته میشه شماره ID ها رو از db خوند و بعنوان شماره ردیف قرار داد ولی مشکل اینجاست وقتی یک رکورد حذف شد دیگه شماره ردیف ها معتبر نیست.

الان هم هرچی می گردم نمیدونم چطور می شه شماره ردیف رو از یک واسش تولید کرد.

ممنون می شم اگه کسی بتونه بهم کمک کنه

با تشکر از همه دوستان

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

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

ایمان مدائنی

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

  • یکشنبه 27 تیر 1395
  • 08:39

خودتون پیاده سازی کنید

مدل

public class DomainModel
{
    public string Foo { get; set; }
}

 

اکشن

public ActionResult Index()
{
    // fetch the domain model from somewhere
    var domain = Enumerable.Range(1, 5).Select(x => new DomainModel
    {
        Foo = "foo " + x
    });

    // now build the view model
    // TODO: use AutoMapper to perform this mapping
    var model = domain.Select((element, index) => new MyViewModel
    {
        RowNumber = index + 1,
        Foo = element.Foo
    });

    return View(model);
}

 

ویو

@model IEnumerable<MyViewModel>

@{
    var grid = new WebGrid(Model);
}

@grid.GetHtml(
    columns: grid.Columns(
        grid.Column("RowNumber"),
        grid.Column("Foo")
    )
)

 

@model IEnumerable<DomainModel>

@{
    var grid = new WebGrid(Model.Select((element, index) => new { element, index }));
}

@grid.GetHtml(
    columns: grid.Columns(
        grid.Column("RowNumber", format: item => item.index + 1),
        grid.Column("Foo", format: item => item.element.Foo)
    )
)

 

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

  • دوشنبه 28 تیر 1395
  • 14:45

دوست گرامی برای اینکه بتونی توی gridmvc  شماره ردیف داشته باشی باید بصورت زیر بنویسی:

int Row = 0;
                            var AkhbarAmozeshi = (from t in talash.Tbl_TarifeAmozeshiVaParvareshi
                                                  join s in talash.Tbl_SabtAmozeshiVaParvareshi on t.TArifID equals s.TArifID
                                                  where s.TArifID == 1
                                                  select new { s.SabtID, s.Title, s.Date, s.time }).OrderByDescending(k => k.Date).OrderByDescending(k => k.time).ToArray();

                            var SelectAkhbarAmozeshi = (from b in AkhbarAmozeshi select new { b.SabtID, b.Title, b.Date, b.time, rn = ++Row }).ToList();

در این مثال ابتدا یک متغیر به نام Row ایجاد شده است. ابتدا یک select زده شده و اطلاعات از جداول استخراج شده است.

Select دوم ، Select اول را به عنوان منبع داده دریافت می کند. در این Select باید متغیر Row را اضافه نماییم با Row++.

در Gridmvc هم به شکل زیر استفاده می کنید:

@Html.Grid(SelectAkhbarAmozeshi).Columns(columns =>
                               {

                                   columns.Add(c => c.rn).Titled("ردیف");
                                   columns.Add().Sanitized(false).Encoded(false).RenderValueAs(c => c.Title == null ? "" : c.Title).Titled("عنوان خبر  ");
                                   columns.Add().Sanitized(false).Encoded(false).RenderValueAs(c => c.Date == null ? "" : c.Date).Titled("تاریخ درج حبر ");
                                   columns.Add().Sanitized(false).Encoded(false).RenderValueAs(c => c.time == null ? "" : c.time).Titled("ساعت درج حبر ");
                                   columns.Add().Sanitized(false).Encoded(false).RenderValueAs(
                                    c => "<form method='post'><input type='hidden' name='SabtID' value=" + c.SabtID + "><button type='submit' class='btn btn-danger' id='btndeleteproduct' formaction='/Admin/GoToEditKhabarAmozeshiDiv'>انتخاب</button></form>").Titled("ویرایش ");
                                   columns.Add().Sanitized(false).Encoded(false).RenderValueAs(
                                    c => "<form method='post'><input type='hidden' name='KhabarID' value=" + c.SabtID + "><button type='submit' class='btn btn-danger' id='btndeleteproduct' formaction='/Admin/DeleteAkhbareFaaliateAmozehi'>حذف</button></form>").Titled("حذف ");

                               })

 

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

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

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

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