none
asp.net mvc gridcolumn hkk RRS feed

  • Soru

  • Merhaba;

    Asp.net mvc de grid.column kullanmaya çalışıyorum.

    Veritabanımdaki bilgileri çektim.

    Lakin veri tabanım ilişkisel.Firmalar ve çalışmalar adında 2 tane tablom var.

    çalışmalar tablomda firmanın Id leri var.

    Grid de çalışmalar tablosunu gösteriyorum.

    Doğal olarak firmanın Id si geliyor.

    Peki nasıl O ıd ait firmanın ismini gösterebilirim.

    Kodlarım ise şu şekilde;

    @model IEnumerable<musteritakip.ekipbilism.Models.Calisma>
    @{
        ViewBag.Title = "Index";
    }
    
    <h2>Çalışma Listeniz</h2>
    @{
        var grid = new WebGrid(Model,defaultSort:"FirmaId",rowsPerPage:2);
    }
    
    <style type="text/css">
        .mousehover{
            cursor:pointer;
            background-color:yellow;
        }
    </style>
    <script src="~/Scripts/jquery-1.10.2.min.js"></script>
    <script type="text/javascript">
        $(function () {
            $('tbody tr').click(function () {
                location.href = '/Calisma/Edit/' + $(this).find('td:first').text();
            }).hover(function () {
                $(this).toggleClass('mousehover');
            });
        });
    </script>
    
    @grid.GetHtml(mode: WebGridPagerModes.All,
    columns:grid.Columns(
        grid.Column("Id", "Calisma Numarası"),
        grid.Column("AydinlantmaFirmasi", "Aydınlatma Firması"),
        grid.Column("AydinlatmaCtarihi","Aydınlatma Tarihi"),
         grid.Column("TeklifVeren","Teklif Veren"),
          grid.Column("TeklifDurumu","Teklif Durumu"),
           grid.Column("FirmaId","Firma Numarası")
    )
    
    )

    Yardımlarınız ve düşünceleriniz için şimdiden teşekkürler.

    3 Kasım 2016 Perşembe 13:39

Yanıtlar

  • @grid.GetHtml(mode: WebGridPagerModes.All,
    columns:grid.Columns(
        grid.Column("Id", "Calisma Numarası"),
        grid.Column("AydinlantmaFirmasi", "Aydınlatma Firması"),
        grid.Column("AydinlatmaCtarihi","Aydınlatma Tarihi"),
        grid.Column("TeklifVeren","Teklif Veren"),
        grid.Column("TeklifDurumu","Teklif Durumu"),
        grid.Column(header: "Firma Adı", format:
        @<text>
            <div>@item.Firma.FirmaAdı</div>
        </text>
        )
    ))
    şeklinde. Tabi data model'inizde Calismalar ile Firmalar ilişkilendirip, Navigation Property oluşturduysanız.

    Antecurs: EntityDataModel'i incelemeni öneririm, ASP.Net MVC de EF kullanılıyor ve join'e falan gerek kalmadan Lazy olarak ilişkili verilerie ulaşılabiliyor.

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com



    3 Kasım 2016 Perşembe 19:33
    Moderatör

Tüm Yanıtlar

  • Sizin probleminiz grid yada alanlar değil. Sorunuzun cevabı "JOIN"

    http://pgnchess.com
    http://dergikapaklari.com

    3 Kasım 2016 Perşembe 14:07
  • @grid.GetHtml(mode: WebGridPagerModes.All,
    columns:grid.Columns(
        grid.Column("Id", "Calisma Numarası"),
        grid.Column("AydinlantmaFirmasi", "Aydınlatma Firması"),
        grid.Column("AydinlatmaCtarihi","Aydınlatma Tarihi"),
        grid.Column("TeklifVeren","Teklif Veren"),
        grid.Column("TeklifDurumu","Teklif Durumu"),
        grid.Column(header: "Firma Adı", format:
        @<text>
            <div>@item.Firma.FirmaAdı</div>
        </text>
        )
    ))
    şeklinde. Tabi data model'inizde Calismalar ile Firmalar ilişkilendirip, Navigation Property oluşturduysanız.

    Antecurs: EntityDataModel'i incelemeni öneririm, ASP.Net MVC de EF kullanılıyor ve join'e falan gerek kalmadan Lazy olarak ilişkili verilerie ulaşılabiliyor.

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com



    3 Kasım 2016 Perşembe 19:33
    Moderatör
  • @grid.GetHtml(mode: WebGridPagerModes.All,
    columns:grid.Columns(
        grid.Column("Id", "Calisma Numarası"),
        grid.Column("AydinlantmaFirmasi", "Aydınlatma Firması"),
        grid.Column("AydinlatmaCtarihi","Aydınlatma Tarihi"),
        grid.Column("TeklifVeren","Teklif Veren"),
        grid.Column("TeklifDurumu","Teklif Durumu"),
        grid.Column(header: "Firma Adı", format:
        @<text>
            <div>@item.Firma.FirmaAdı</div>
        </text>
        )
    ))
    şeklinde. Tabi data model'inizde Calismalar ile Firmalar ilişkilendirip, Navigation Property oluşturduysanız.

    Antecurs: EntityDataModel'i incelemeni öneririm, ASP.Net MVC de EF kullanılıyor ve join'e falan gerek kalmadan Lazy olarak ilişkili verilerie ulaşılabiliyor.

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com



    Bilmiyordum, öğrenmiş oldum, teşekkürler. Evde kendi sitelerim, işte firma bilgisayarları ile uğraşınca yeni bir şeyler öğrenmeye zaman ayıramıyorum şu sıralar. pgnchess'i mvc'ye geçireyim diye en az 3-4 kez niyetlenip yarıda bıraktım. Aslında çok zaman almayacağının da farkındayım ama biraz Lazy durumları var.

    http://pgnchess.com
    http://dergikapaklari.com

    3 Kasım 2016 Perşembe 20:12
  • Bir başlarsan gözün başka şey görmez bence

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    4 Kasım 2016 Cuma 07:01
    Moderatör
  • @grid.GetHtml(mode: WebGridPagerModes.All,
    columns:grid.Columns(
        grid.Column("Id", "Calisma Numarası"),
        grid.Column("AydinlantmaFirmasi", "Aydınlatma Firması"),
        grid.Column("AydinlatmaCtarihi","Aydınlatma Tarihi"),
        grid.Column("TeklifVeren","Teklif Veren"),
        grid.Column("TeklifDurumu","Teklif Durumu"),
        grid.Column(header: "Firma Adı", format:
        @<text>
            <div>@item.Firma.FirmaAdı</div>
        </text>
        )
    ))
    şeklinde. Tabi data model'inizde Calismalar ile Firmalar ilişkilendirip, Navigation Property oluşturduysanız.

    Antecurs: EntityDataModel'i incelemeni öneririm, ASP.Net MVC de EF kullanılıyor ve join'e falan gerek kalmadan Lazy olarak ilişkili verilerie ulaşılabiliyor.

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com



    Çok teşekkür ederim bunuda öğrenmiş oldum.

    Navigation Property ile oluşturmuştum.

    Hatırlarsanız webgrid'e geçme önerisinde bulunmuştunuz bir başka sorumda. Sayfalama sıralama vb gibi işlemler çok rahat.Haklıymışınız.

    İyi Çalışmalar Dilerim.

    4 Kasım 2016 Cuma 19:47