Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

.NET web Form C# ile esnek tablo görüntüleme.

Konu, 'ASP.NET / Silverlight / Moonlight' kısmında sedirAğacı tarafından paylaşıldı.

  1. sedirAğacı

    sedirAğacı Daimi Üye

    Kayıt:
    2 Mart 2016
    Mesajlar:
    677
    Beğenilen Mesajlar:
    185
    Meslek:
    Bilgisayar programcısı.
    Şehir:
    Aydın
    Her projede pek çok parametrik tablo var. (single gridview, multiple table - asp.net C#)

    Admin panelde her biri için ayrı sayfa yazmak yerine tek sayfada halletmek istersek, esnek tek bir sayfa yazmak gerekiyor.

    Yazdığım bu esnek görüntüleme sayfasını buradada paylaşayım.

    Tek bir gridView, tek bir sqldatasource ve her tablo için bir SELECT komut stringi.

    Örnek aşağıda, iller ve ilçeler tabloları görüntüleme için.

    insert-update-delete butonları eklenerek aynı mantık geliştirilebilir.
     
    Son düzenleme: 20 Haziran 2017
  2. sedirAğacı

    sedirAğacı Daimi Üye

    Kayıt:
    2 Mart 2016
    Mesajlar:
    677
    Beğenilen Mesajlar:
    185
    Meslek:
    Bilgisayar programcısı.
    Şehir:
    Aydın
    DB tanımları.

    İller tablosu. [mdlCity]
    [ilIsim] [nvarchar](30) NOT NULL,
    [ilPlakaNo] [smallint] NOT NULL,
    [ilTlfAlanKodu] [smallint] NULL,

    KEY ler
    [ilIsim] ASC

    İlçeler tablosu. [mdlCounty]
    [ilcIlPlakaNo] [smallint] NOT NULL,
    [ilcNo] [smallint] NOT NULL,
    [ilcIsim] [nvarchar](30) NOT NULL,
    [ilcPostaAlanKodu] [smallint] NULL,

    KEYler
    [ilcIlPlakaNo] ASC,
    [ilcNo] ASC
     
  3. sedirAğacı

    sedirAğacı Daimi Üye

    Kayıt:
    2 Mart 2016
    Mesajlar:
    677
    Beğenilen Mesajlar:
    185
    Meslek:
    Bilgisayar programcısı.
    Şehir:
    Aydın
    ASPX SAYFA

    PHP:
    <asp:Label ID="lblMsgTop" runat="server" CssClass="lblWarning"></asp:Label>
        <
    br />
        <
    table class="tblTight">
            <
    tr>
                <
    td style="width: 160px; color: teal; text-align: right; padding-right: 4px;">
                    
    İşlem yapılacak<br />tabloyu seç.
                </
    td>
                <
    td>
                    <
    asp:RadioButtonList ID="rblTbl" runat="server">
                        <
    asp:ListItem Value="Şehirler">Şehirlerin tümü</asp:ListItem>
                        <
    asp:ListItem Value="İlçeler">Bir şehre ait ilçeler</asp:ListItem>
                    </
    asp:RadioButtonList>
                    <
    div class="teal">
                        
    İlçeleri seçmişsenizil plaka numarası girin :
                        <
    asp:TextBox ID="txCityNo" runat="server" CssClass="txBoxStd" Text="48" TextMode="Number"></asp:TextBox>
                    </
    div>
                  
                </
    td>
            </
    tr>
            <
    tr>
                <
    td colspan="2">
                    <
    asp:Button ID="btSel" runat="server" Text="getir" CssClass="btList" OnClick="btSel_Click"/>
                </
    td>
            </
    tr>
            <
    tr>
                <
    td colspan="2">
                    <
    asp:GridView ID="grdTbl" runat="server"></asp:GridView>
                </
    td>
            </
    tr>
        </
    table>
     
    Son düzenleme: 17 Haziran 2017
  4. sedirAğacı

    sedirAğacı Daimi Üye

    Kayıt:
    2 Mart 2016
    Mesajlar:
    677
    Beğenilen Mesajlar:
    185
    Meslek:
    Bilgisayar programcısı.
    Şehir:
    Aydın
    CS SAYFA

    PHP:
            protected void Page_Load(object senderEventArgs e)
            {
                
    lblMsgTop.Text "";
            }
            protected 
    void btSel_Click(object senderEventArgs e)
            {
                
    string tblName rblTbl.SelectedValue;
                if (
    checkEntry(tblName))
                {
                    if (
    createDataSource(tblName))
                    {
                        
    lblMsgTop.Text "<span style='color: green;'>Tamamdır.</span>";
                    }
                }
            }
        
            
    bool createDataSource(string tblName)
            {
                try
                {
                    
    SqlDataSource SqlDataSource1 = new SqlDataSource();
                    
    SqlDataSource1.ID "SqlDataSource1";
                    
    this.Page.Controls.Add(SqlDataSource1);
                    
    SqlDataSource1.ConnectionString System.Configuration.ConfigurationManager.ConnectionStrings["localConnStr"].ConnectionString;
                    if (
    tblName == "Şehirler")
                    {
                        
    SqlDataSource1.SelectCommand "SELECT ilIsim, ilPlakaNo, ilTlfAlanKodu FROM mdlCity";
                    }
                    else if (
    tblName == "İlçeler")
                    {
                        
    SqlDataSource1.SelectCommand "SELECT ilcNo, ilcIsim, ilcPostaAlanKodu FROM mdlCounty WHERE ilcIlPlakaNo =" txCityNo.Text.Trim();
                    }
                
                    
    grdTbl.DataSource SqlDataSource1;
                    
    grdTbl.DataBind();
                    return 
    true;
                
                }
                catch (
    Exception ex)
                {
                    
    lblMsgTop.Text "Hata : " ex.Message;
                }
                return 
    false;
            }
            
    bool checkEntry(string tblName)
            {
                if (
    tblName != "")
                {
                    if (
    tblName == "İlçeler")
                    {
                        if (!
    Models.kitBag.isNumericValue(txCityNo.Text.Trim()) || txCityNo.Text.Trim() == "0")
                        {
                            
    lblMsgTop.Text "İlçeleri seçmişseniz, il plaka numarası girmelisiniz.";
                        }
                    }
                }
                else
                {
                    
    lblMsgTop.Text "İşlem yapılacak tabloyu seçmelisiniz.";
                }
            
                return 
    lblMsgTop.Text == "" true false;
       }

     
    Son düzenleme: 18 Haziran 2017