Hosgeldiniz
Ben Kimim?

C.V.
Bilgi paylaþtýkça çoðalýr.Ýþte ispatý,
bende var bir elma, sende var bir elma, gel elmalarý deðiþelim; bende var bir elma, sende var bir elma.

Þimdi bende var bir bilgi, sende de var bir bilgi, gel bilgileri deðiþelim; bende oldu iki bilgi, sende oldu iki bilgi.Nasýl güzel deðilmi?...

Ben bilgilerimi ortaya koyuyorum benimle bilgi zengini olmak istermisiniz?..



Kategoriler


Site nasýl olmuþ?
Daha iyi olabilirdi
Ýdare eder
Güzel
Süper
Süper ötesi...
     
Anket
DataGridView1 den DatagridView2 ye kopyalama
9 Yil öncesi . . .
datagridview kopyalama data

Geçenlerde ufak bir proje geldi. C# geliştirilen bu projede iki tane datagridview var. Bunlar form üzerinde farklı yerlerde.

Neyse problem dataGridView1 deki verileri dataGridView2 ye aktarma. Şöyle bir kod malesef işe yaramıyor.
dataGridView1=dataGridView2;
Keşke yarasa değilmi?.:)

işte bunu yapan bir kod.Baya uzun bir kod.Ama işinize yarar.İstek gelirse üzerinde performans için çalışmalar yapabilirim.
DataGridViewColumn col = new DataGridViewColumn(new DataGridViewButtonCell());/* Yeni bir column objesi oluşturuyoruz */

DataGridViewColumn[] cols = new DataGridViewColumn[dataGridView1.Columns.Count];/* orjinal datagridview deki columnlari gosteriyoruz. */

for (int i = 0; i < cols.Length; i++)
{
cols[i] = (DataGridViewColumn)dataGridView1.Columns[i].Clone();/* ilk column ismini kopyaliyoruz */

cols[i].CellTemplate = dataGridView1.Columns[i].CellTemplate;/* bu columnlarin header isimlerini aliyoruz*/
}

dataGridView2.Columns.AddRange(cols);/*ve ikinci datagridview'e ekliyoruz*/

/* Simdi sira satirlari eklemek. yani verileri ekleyecegiz*/

DataGridViewRowCollection r = dataGridView1.Rows;/* yine bir tane degisken olusturuyoruz */
DataGridViewRow[] row = new DataGridViewRow[r.Count];/*Her bir column'un satirlarini aliyoruz.*/
for (int i = 0; i < row.Length-1; i++)
{
row[i] = (DataGridViewRow)dataGridView1.Rows[i].Clone();/* satirlari kopyaliyoruz.. */
dataGridView2.Rows.Add(row[i]);/* kac satir varsa onlari ekliyoruz */
}
for (int i = 0; i < dataGridView1.Columns.Count; i++)
{
for (int j = 0; j < dataGridView1.Rows.Count; j++)
{
if (dataGridView1[i, j].Value == null) continue;

dataGridView2[i, j].Value = dataGridView1[i, j].Value.ToString();/* Kayitlari ekliyoruz... */
}
}
Bol şanslar.Kolay gelsin..

                    Toplam Puan:22

YORUMLAR Yorum Yaz


Emre Akyürek 11/10/2008 | 11:21:56
Kardeşim güzel bir kod olmuş. Tam okumadım ne yapmak istediğini ama sanırım bu kod daha hzlı bir şekilde yapmak istedigini yapacak. BindingSource bs = new BindingSource(); bs.DataSource = dataGridView1.DataSource; dataGridView2.DataSource = bs;
 



Deniz YILDIRIM 11/11/2008 | 8:26:29
vaay Emre kardeşim, hoşgeldin senide burada görmek güzel. Verdiğin ufak kod gayet güzel bir örnek.Paylaştığın bilgi için teşekkür ederim.
 



Gürol ÖZBEY 11/13/2008 | 7:43:06
Değerli Denizimin yayımını okurken, düşündüm ki bunu BindingSource ile yapamıyormuyduk diye kiii orda düşünülmüşü varmış. Hepinize çok slm, yanıma gelin daa özledim sizleri, işlerinizde kolaylık dilerim...
 



ilyas arinc 12/20/2008 | 6:38:19
Deniz arkadasım selmalar sitene bi bakayım dedimde sen de bu aralar yogundun sanırım birşeyler ekliyememişsin.Denzim ya ben bi program yaptım c# ta ama şifreli giriş olsun.Mdb dosyasından yapıyorum ancak access yüklü makina ordan şifreleri görebiliyor.Nasıl gizli tutabilirim Teşekkürler
 



Deniz YILDIRIM 12/24/2008 | 16:21:34
yogunluktan ziyade, yazı yazmayı üşeniyom.:) Senin soruna yanıt olarak mail gönderdim.Kafana takılan birşey olursa yardımcı olurum...
 



ilyas arýinc 12/25/2008 | 11:01:43
teşekkür ederim ilgine denizim...Üşengecliğin daha gecmedimi senin kalıcı oldu sanırım sende:)