Arkadaşlar ben 2 tabloyu joinleyip ordaki verileri gridde gösteriyorum fakat bazı veriler gridde gözüksün istemiyorum. Derseniz ki o verileri joinleme ama o verileri de başka bir yerde kullanıcam tekrar query yazmak istemedim. Özetle veriler gelsin hepsi gridde görüntülenmesin. "Sütunadı".visible=false böyle birşeyler aradım bulamadım.Teşekkür ederim.

enter code here private void btnDbList_Click(object sender, EventArgs e)
    {
        using (SqlConnection con = new SqlConnection(connstr))
        {
            using (SqlCommand cmd = new SqlCommand())
            {
                dataGridDb.Visible = true;
                cmd.CommandText = "Select ID,I.InstanceID,InstanceName,DatabaseName,BackupPath,AuthMode,IsCompressed from Sql_Instances I inner join Sql_Databases D on I.InstanceID=D.InstanceID";
                cmd.Connection = con;
                con.Open();
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                da.Fill(dt);
                dataGridDb.DataSource = dt;
                DataGridViewRow selectedRow = dataGridDb.Rows[0];                 
            }
        }
    }

Gridi doldurduğum kod.

Bu kodda ID ve InstaceID gridde görüntülenmesin istiyorum.

soruldu: 30 May '14, 04:46

hayriali's gravatar image

hayriali
714612
cevap kabul oranı: 0%


Soruya bakılırsa senin gridview'in AutoGenerateColumns özelliği true olarak işaretlenmiş. Bu özelliği false yap ve göstermek istediğin kolonları kendin oluştur. AutoGenerateColumns özelliği true olursa columns.count özelliği 0 değerini dönderecektir. Eğer AutoGenerateColumns özelliği true olsun ben yine de kolonları gizleyebileyim dersen gridview'in RowDataBound aksiyonunun içerisinde yapabilirsin.

Bir diğer konu, senin bir kaç soruna yanıt verdim ama kullandıklarını dahi onaylamadın. Şayet işine yarayan kodları onaylarsan, çözüm arayan kullanıcıların daha kolay erişmesine vesile olursun.

Kolay gelsin.

permanent link

cevaplandı: 30 May '14, 05:44

SaRPaRDa's gravatar image

SaRPaRDa
5.0k213165
cevap kabul oranı: 27%

Öncelikle sorularıma cevap verdiğin için teşekkür ederim, bana çok yardımcı oldun.Haklısın onay'a basmamışım daha yeniyim bu tarz sitelerde kusuruma bakma.Teşekkür ederim. AutoGenerate özelliğini false yaptım object reference hatası aldım oluştururken bende true iken aşağıdaki gibi visible.false yaptım.

(30 May '14, 06:26) hayriali hayriali's gravatar image

AutoGenerateColumns özelliğini false yapmanı öneririm. GridView'in kolonlarını oluşturmadıysan hata alırsın. GridView'in Properties penceresinden kolonları manuel oluştur.

Standart GridView'i kullanıyorsun. Özelliği yok denecek kadar az. Devexpress'in gridview'ini incelemeni öneririm. Çok pratik. Gruplandırmadan alt toplam almaya kadar tüm ihtiyaçlarına cevap veriyor. Biraz pahalı ama :)

(30 May '14, 06:44) SaRPaRDa SaRPaRDa's gravatar image

Devexpressi hiç kullanmadım, para sıkıntı değil yaa şirket de kullanıyorlar:) Şuan bende ki proje basic olduğu için böyle takılıyorum:),yeni projelere sağlık eyvallah;)

(30 May '14, 06:52) hayriali hayriali's gravatar image

SaRPaRDa arkadaşımızın dediği gibi AutoGenerateColumns özelliğini false yapıp sadece görülmesini istediğin kolanları dataGridView'e ekleyebilirsin. Eğer AutoGenerateColumns true olsun sadece görülmesini istemediklerini kaldırmak istersen aşağıdaki gibi kodunu değiştirebilirsin.

Yazdığın kod parçasında uygulamanın webform değilde winform olduğunu anlıyorum:

private void btnDbList_Click(object sender, EventArgs e)
    {
        using (SqlConnection con = new SqlConnection(connstr))
        {
            using (SqlCommand cmd = new SqlCommand())
            {
                dataGridDb.Visible = true;
                cmd.CommandText = "Select ID,I.InstanceID,InstanceName,DatabaseName,BackupPath,AuthMode,IsCompressed from Sql_Instances I inner join Sql_Databases D on I.InstanceID=D.InstanceID";
                cmd.Connection = con;
                con.Open();
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                da.Fill(dt);
                dataGridDb.DataSource = dt;
                HideColumn(dataGridDb, "ID");
                HideColumn(dataGridDb, "InstaceID");
                DataGridViewRow selectedRow = dataGridDb.Rows[0];                 
            }
        }
    }

 private void HideColumn(DataGridView dataGridView, string columnName)
        {
            foreach (DataGridViewColumn column in dataGridView.Columns)
            {
                if (column.Name==columnName)
                {
                    dataGridView.Columns.Remove(column);
                    break;
                }
            }
        }

iyi çalışmalar.

permanent link

cevaplandı: 30 May '14, 06:26

M%C3%BCsl%C3%BCm%20%C3%96ZT%C3%9CRK's gravatar image

Müslüm ÖZTÜRK
10.7k103691
cevap kabul oranı: 28%

Arkadaşlar Autogenerate özelliğini true yapıp, ilgili sütunların visible özelliğini false yaptım. Kod aşağıdaki gibidir.Kolay gelsin

private void btnDbList_Click(object sender, EventArgs e)
    {
        using (SqlConnection con = new SqlConnection(connstr))
        {
            using (SqlCommand cmd = new SqlCommand())
            {

                dataGridDb.Visible = true;
                cmd.CommandText = "Select ID,I.InstanceID,InstanceName,DatabaseName,BackupPath,AuthMode,IsCompressed from Sql_Instances I inner join Sql_Databases D on I.InstanceID=D.InstanceID";
                cmd.Connection = con;
                con.Open();
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                da.Fill(dt);
                dataGridDb.DataSource = dt;

                dataGridDb.Columns["ID"].Visible = false;
                dataGridDb.Columns["InstanceID"].Visible = false;

            }
        }
permanent link

cevaplandı: 30 May '14, 06:33

hayriali's gravatar image

hayriali
714612
cevap kabul oranı: 0%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×238
×53
×13

Soruldu: 30 May '14, 04:46

Görüntüleme: 944 kez

Son güncelleme: 30 May '14, 06:52

powered by BitNami OSQA