C# DGV'den ekleme veya çıkarma yapamıyorum

yunusemreakman

Hectopat
Katılım
7 Kasım 2017
Mesajlar
16
Daha fazla  
Cinsiyet
Erkek
C#:
dgvInventory.DataSource = _player.Inventory;

 dgvInventory.Columns.Add(new DataGridViewTextBoxColumn
 {
 HeaderText = "Name",
 Width = 200,
 DataPropertyName = "Name"
 });
 dgvInventory.Columns.Add(new DataGridViewTextBoxColumn
 {
 HeaderText = "Quantity",
 Width = 200,
 DataPropertyName = "Quantity"

 });

DgvInventory isimli datagridview öğesine datasource özelliğiyle _player. Inventory listesini ekledim. Fakat bu Inventory listesinden bir öge çıkardığımda veya yenisini eklediğimde dgv formda kendini güncellemiyor. Listede kaç tane obje varsa o sayıda kalıyor. Mesela 5 obje olsun. Bir objeyi listeden çıkardığımda "dgv bound exception not found 4 index" gibi bir hata alıyorum. Dgv tabloyu listeye göre nasıl güncellerim? Listeyi güncelledikten sonra tekrar " dgvInventory. DataSource = _player. Inventory "
Yapıyorum işe yaramıyor. Tavsiyeniz nedir?
 
Verileri Array olarak eklemediğiniz için sorun oluyor.

Bu rehberde gerekli yapılandırma işlemlerini okursanız sorununuz çözülür.


Ek olarak DataGrid ile Linq kütüphanesini kullanırsanız SQL kullanır gibi ID değeri ile güncelleme, silme gibi işlemler yapabilirsiniz.
 
Inventory bir tür listedir. Sorunu şuan çözdüm. Inventory liste değişkenini
böyle değil de
List<InventoryItem> Inventory { get; set; }

böyle tanımlayınca

BindingList<InventoryItem> Inventory { get; set; }

dgv de dinamik olarak değişiklikleri algıladı ve satırları ekleyip silme işlemini yaptı. Sorun çözülmüştür.
 

Geri
Yukarı