none
dataadapter ile listvew içine doldurma RRS feed

Yanıtlar

Tüm Yanıtlar

  • Ornek:

    void Main()
    {
    	Form f = new Form();
    	ListView listView1 = new ListView { Dock = DockStyle.Fill, View = View.Details };
    	f.Controls.Add(listView1);
    	listView1.LabelEdit = true;
    	listView1.AllowColumnReorder = true;
    	listView1.FullRowSelect = true;
    	listView1.GridLines = true;
    	listView1.Sorting = System.Windows.Forms.SortOrder.Ascending;
    	listView1.Columns.Add("Id", -2);
    	listView1.Columns.Add("Company", -2);
    	listView1.Columns.Add("Contact", -2);
    	listView1.Columns.Add("City", -2);
    	listView1.Columns.Add("Country", -2);
    
    	f.Show();
    
    	listView1.Items.Clear();
    	using (SqlConnection baglanti = new SqlConnection(@"server=.\SQLExpress2012;Database=Northwind;Trusted_Connection=yes"))
    	using (SqlCommand komut = new SqlCommand("select * from customers", baglanti))
    	{
    		baglanti.Open();
    		SqlDataReader oku = komut.ExecuteReader();
    
    		while (oku.Read())
    		{
    			ListViewItem ekle = new ListViewItem();
    			ekle.Text = (string)oku["Customerid"];
    			ekle.SubItems.Add((string)oku["CompanyName"]);
    			ekle.SubItems.Add(oku["ContactName"].ToString());
    			ekle.SubItems.Add(oku["City"].ToString());
    			ekle.SubItems.Add(oku["Country"].ToString());
    
    			listView1.Items.Add(ekle);
    
    		}
    		baglanti.Close();
    	}
    	listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
    }



    How to create a Minimal, Reproducible Example
    The way to Go.
    World's most advanced open source (object-) relational Database.
    Flutter (for mobile, for web & desktop.

    5 Kasım 2019 Salı 13:30
    Yanıtlayıcı
  •            
                SQLiteDataAdapter da = new SQLiteDataAdapter();
                SQLiteCommand CMD = new SQLiteCommand("SELECT * FROM OKUYUCULAR", baglanti_db.baglantim);
                 da.SelectCommand= CMD;

    kodlar bu şekilde hocam. listview içine fill edebilir miyiz? 
    6 Kasım 2019 Çarşamba 05:57
  • Edersiniz tabii. Yukarıda ornek kod var ya.

    Not: Kim Adapter kodunu öyle yazar ki.

    SQLiteDataAdapter da = new SQLiteDataAdapter("SELECT * FROM OKUYUCULAR", 
        "baglanti cumlesi");



    How to create a Minimal, Reproducible Example
    The way to Go.
    World's most advanced open source (object-) relational Database.
    Flutter (for mobile, for web & desktop.



    6 Kasım 2019 Çarşamba 07:22
    Yanıtlayıcı
  • Edersiniz tabii. Yukarıda ornek kod var ya.

    Not: Kim Adapter kodunu öyle yazar ki.

    SQLiteDataAdapter da = new SQLiteDataAdapter("SELECT * FROM OKUYUCULAR", 
        "baglanti cumlesi");


    merhaba

    hocam ben daha yeni yeni öğreniyorum. o yüzden sorularım saçma geliyorsa bundandır. 

    hocam DataAdapterden verileri DataTableye döktüm. DataReader ile verileri alabiliyorum. ama datatabledeki verileri listview içine atamadım.

    açıklayabilirseniz sevinirim.

    teşekkürler.

    6 Kasım 2019 Çarşamba 07:37
  • ListView kullanan şart mı? ListView veri gösterme için yapılmış bişey değil. Bunun yerine DataGrid kullansan;

    dataGridView1.DataSource = dataTable1;

    demen yeterli olacak

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

    6 Kasım 2019 Çarşamba 08:11
    Moderatör
  • ListView kullanan şart mı? ListView veri gösterme için yapılmış bişey değil. Bunun yerine DataGrid kullansan;

    dataGridView1.DataSource = dataTable1;

    demen yeterli olacak

    yalçın hocam. haklısınız. ama ben ekran oluyucu programlarla uyumlu bir uygulama üzerinde çalışıyorum. bunuda hem öğrenip hemde deneyerek çözmeye çalışıyorum.

    listview'de sadece adını ve soyadını göstereceğim. buna görede seçilen kayıtla alakalı işlemler gerçekleştireceğim.

    bu yüzden listview tercih ediyorum. listbox'ta olur aslında ama sütunlu görünsün diye listview.

    varsa böyle bir imkanımız yapalım. yoksa farklı alternatifler deneyeceğiz artık.

    teşekkürler.

    6 Kasım 2019 Çarşamba 08:31
  • ListBox a sütun yerine;

    listBox1.DisplayMember = "AdSoyad";
    listBox1.ValueMember = "Id";
    
    listBox1.DataSource = dataTable1.Rows.Cast<DataRow>().Select(p=> new { Id = p["Id"], AdSoyad = $"{p["Adı"]} {p["Soyadı"}" }).ToList();

    şeklinde alabilirsin.


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



    6 Kasım 2019 Çarşamba 08:42
    Moderatör
  • listBox1.DataSource = dataTable1.Cast<DataRow>().Select(p=> new { Id = p["Id"], AdSoyad = $"{p["Adı"]} {p["Soyadı"}" }).ToList();

    hocam özür dileyerek bu kod ile db'den gelen verileri birleştirerek lstbox içine yerleştiriyoruz değil mi?

    biraz yabancı geldi banada ondan.

    teşekkürler.

    6 Kasım 2019 Çarşamba 09:33
  • Kabaca öye.

    Aslen; dataTable'ın rowlarını IEnumerable'e çevirip, Yeni bir obje listesi oluşturup, bunu ListBox'a dataSource olarak veriyoruz.

    Bu arada kodu eksik yazmışm sanırım düzelttim.


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

    6 Kasım 2019 Çarşamba 10:38
    Moderatör
  • hocam teşekkür ederim. 

    bilmediğim yerleri araştıracağım.

    tekrar teşekkürler.

    6 Kasım 2019 Çarşamba 10:46
  • Yukaridaki kodun DataAdapter ve DataTable kullanilmis hali:

    void Main()
    {
    	Form f = new Form();
    	ListView listView1 = new ListView { Dock = DockStyle.Fill, View = View.Details };
    	f.Controls.Add(listView1);
    	listView1.LabelEdit = true;
    	listView1.AllowColumnReorder = true;
    	listView1.FullRowSelect = true;
    	listView1.GridLines = true;
    	listView1.Sorting = System.Windows.Forms.SortOrder.Ascending;
    	listView1.Columns.Add("Id", -2);
    	listView1.Columns.Add("Company", -2);
    	listView1.Columns.Add("Contact", -2);
    	listView1.Columns.Add("City", -2);
    	listView1.Columns.Add("Country", -2);
    
    	f.Show();
    
    	listView1.Items.Clear();
    	DataTable tbl = new DataTable();
    	new SqlDataAdapter("select * from customers",
    		@"server=.\SQLExpress;Database=Northwind;Trusted_Connection=yes")
    		.Fill(tbl);
    
    	foreach (DataRow row in tbl.Rows)
    	{
    		ListViewItem ekle = new ListViewItem();
    		ekle.Text = (string)row["Customerid"];
    		ekle.SubItems.Add((string)row["CompanyName"]);
    		ekle.SubItems.Add((string)row["ContactName"]);
    		ekle.SubItems.Add((string)row["City"]);
    		ekle.SubItems.Add((string)row["Country"]);
    
    		listView1.Items.Add(ekle);
    
    	}
    
    	listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
    }



    How to create a Minimal, Reproducible Example
    The way to Go.
    World's most advanced open source (object-) relational Database.
    Flutter (for mobile, for web & desktop.

    6 Kasım 2019 Çarşamba 11:53
    Yanıtlayıcı
  • merhaba hocam!

    okuyuculistesi.DisplayMember = "adsoyad";
               okuyuculistesi.ValueMember = "id";
                            okuyuculistesi.DataSource = DATATABLOSU.Rows.Cast<DataRow>().Select(p => new {Id = p["id"],AdSoyad = $"{p["ad"]} {p["soyad"]}"}).ToList();

    şeklinde kullanıyorum. ancak basitçe

    string secilen = okuyuculistesi.SelectedItem.ToString();
                MessageBox.Show(secilen, "sayın kullanıcı: ");

    göstermek istediğimde

    { Id = , AdSoyad = RABİA EZGİ AKSOY }

    şeklinde mesaj görüntüleniyor. nerede hata yaptım acaba hocam?

    teşekkürler.


    7 Kasım 2019 Perşembe 06:03
  • merhaba

    yalçın hocam!

    okuyuculistesi.DisplayMember = "adsoyad";
               okuyuculistesi.ValueMember = "id";
                            okuyuculistesi.DataSource = DATATABLOSU.Rows.Cast<DataRow>().Select(p => new {Id = p["id"],AdSoyad = $"{p["ad"]} {p["soyad"]}"}).ToList();

    şeklinde kullanıyorum. ancak basitçe

    string secilen = okuyuculistesi.SelectedItem.ToString();
                MessageBox.Show(secilen, "sayın kullanıcı: ");

    göstermek istediğimde

    { Id = , AdSoyad = RABİA EZGİ AKSOY }

    şeklinde mesaj görüntüleniyor. nerede hata yaptım acaba hocam?

    teşekkürler.

    Nesnenin kendisini tostring ile gösteriyorsunuz.

    var secilen = okuyuculistesi.SelectedItem as dynamic;
                MessageBox.Show(secilen.AdSoyad, "sayın kullanıcı: ");

    Not: DataTable, DataRow filan kullanacaginiza dogrudan Linq ile List alıp doldursanız isleriniz daha kolay olur. Dogrudan belli tiple calisirsiniz.



    How to create a Minimal, Reproducible Example
    The way to Go.
    World's most advanced open source (object-) relational Database.
    Flutter (for mobile, for web & desktop.


    7 Kasım 2019 Perşembe 19:52
    Yanıtlayıcı
  • hocam merhaba

                

    dediğiniz gibi:

    var secilen = okuyuculistesi.SelectedItem as dynamic;
                MessageBox.Show(secilen.adsoyad, "sayın kullanıcı: "); 

    şeklinde kullandım. ancak:

    Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: ''<>f__AnonymousType0<object,string>' bir 'adsoyad' tanımı içermiyor' özel durum hatası oluştu. neresi hatalı oluyor anlamadım.

    not: linq en kısa zamanda detaylı araştıracağım.

    teşekkür ederim.

    8 Kasım 2019 Cuma 06:04
  • adsoyad degil AdSoyad. Tipinizde öyle yazmışsınız.


    How to create a Minimal, Reproducible Example
    The way to Go.
    World's most advanced open source (object-) relational Database.
    Flutter (for mobile, for web & desktop.

    • Yanıt Olarak İşaretleyen fatih uyanık 8 Kasım 2019 Cuma 12:41
    8 Kasım 2019 Cuma 12:30
    Yanıtlayıcı
  • çetin hocam teşekkür ederim. 

    sorun kalmadı.

    8 Kasım 2019 Cuma 12:42