Devexpress GridControl Kullanarak Checkbox Kolon Ekleme İşlemleri

Geliştirdiğimiz uygulamalarda  bazı durumlarda gelen listeden seçilenleri dışarı aktarma,başka bir veritabanına yazma, web sitesine upload etme yada seçilenleri silme gibi çoklu işlem yapma ihtiyacımız olabiliyor. Bu gibi durumlarda DevExpress’in GridControl nesnesini kullanarak görsel açıdan zengin arayüzler sunarak müşterimizi memnun edip talebini kolayca gerçekleştirebiliriz. (Windows Forms standart gelen DataGridView nesnesinde de aynı işlemleri yapabiliriz.) Benim görsellik ve birçok özelliği olmasından dolayı bu örnekte tercihim DevExpress GridControl oldu. Aşağıdaki örnekte ben veritabanımdan sipariş listesini çekiyorum ve çektiğim siparişlerin listesinden istediğimi seçip sipariş numarasını listbox nesnesine aktarıyorum. Müşterinin talebine göre seçtiği siparişleri onaylatıp, paketlenmesi için depoya yönlendirilebilirdi de.

Yeni bir Devexpress Windows Form projesi açıyorum ve projeme 3 adet button 1 adet gridconrol bir adet listbox ekleyip kodlamaya başlıyorum.

[csharp]

string dbyol = "Data Source=.;Initial Catalog=UzmanDB;User ID=sa;Password=1";
void SiparisleriListele()
{
SqlConnection con = new SqlConnection(dbyol);
if (con.State != ConnectionState.Open) con.Open();
SqlCommand cmd = new SqlCommand("select OrderDate,OrderNumber,CompanyCode,StoreCode,CreatedUserName from trOrderHeader order by OrderDate desc", con);
SqlDataReader dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Clear();
dt.Load(dr);
// Checkbox listesi gelmes için alt satırdaki kod yardımıyla bool türünde bir kolon eklemesi yapıyoruz.
dt.Columns.Add(new DataColumn("OK", Type.GetType("System.Boolean")));
gridControl.DataSource = dt;
}
private void frmMain_Load(object sender, EventArgs e)
{
SiparisleriListele();
}

private void btnHepsiniSec_Click(object sender, EventArgs e)
{
for (int i = 0; i < gridView1.RowCount; i++)
{
//Devexpress’te GridControl içerisinde gridview nesnesi olduğu için onun içerisinde döngü ile değerleri kontrol ediyoruz.
gridView1.SetRowCellValue(i, "OK", "True");
}
}

private void btnHicbiri_Click(object sender, EventArgs e)
{
for (int i = 0; i < gridView1.RowCount; i++)
{
//Devexpress’te GridControl içerisinde gridview nesnesi olduğu için onun içerisinde döngü ile değerleri kontrol ediyoruz.
gridView1.SetRowCellValue(i, "OK", "False");
}
}

private void btnSecilenleriAktar_Click(object sender, EventArgs e)
{
// Bu Aşamada ise gridview’deki değerleri bir değişkene atayarak kontrol ediyoruz. OK kolonundaki değer True ise listbox’umuza aktarım işlemini yapıyoruz.
string value = "";
for (int i = 0; i < gridView1.RowCount; i++)
{
value = gridView1.GetDataRow(i)["OK"].ToString();
if (value == "True")
{
lstSeciliListe.Items.Add(gridView1.GetRowCellValue(i, "OrderNumber").ToString());
}
}
}

[/csharp]

main1
main2
main3
main4Yararlı olması dileğiyle…

Mesut Güneş

Selçuk Üniversitesi Bilgisayar programcılığı bölümünden mezun olduktan sonra birçok firmada Yazılım, İş zekası ve Veritabanı Uzmanı olarak çalıştım. Şuan Türkiye’nin en büyük şirketlerinden biri olan Doğan Online’da Veritabanı Yöneticisi olarak çalışıyorum.

You may also like...

17 Responses

  1. Turker Tunalı dedi ki:

    Güzel anlatmışsınız elinize sağlık

  2. mehmet özdemir dedi ki:

    Bunu web tarafında nasıl yapabiliriz?Bana web tarafı lazım uyarlayamadım bir türlü webe bunu.

  3. Mesut YILMAZ dedi ki:

    mesut bey çok başarılı..

  4. Emre Komur dedi ki:

    Çok işime yaradı.Projede kullandım sağolasın.

  5. Emin GÖROĞLU dedi ki:

    Takıldığım bir nokta da imdadıma yetişti diye bilirim, çok teşekkür ederim, elinize sağlık =))
    *Arşivimde yerini aldı.

  6. ismail dedi ki:

    Burda seçilenleri aktar derken listbox a değil de devexpress te başka bir gridview’e nasıl aktarırız ya da treelist’e ?

    • Mesut Güneş dedi ki:

      Merhaba İsmail,

      Seçilen kayıtları bir Generic List’e veya DataTable’ye aktarıp daha sonra gridview’e oluşturduğun veri setini veri kaynağı olarak bağlayabilirsin.

  7. Mesut Güneş dedi ki:

    Selam İsmail,

    Linkte sorduğun soruya özel bir örnek hazırladım. Kolay gelsin.

    https://yadi.sk/d/8ib2Joy0hVDhb

  8. Emrah dedi ki:

    Süper olmuş kardeşim ellerine sağlık. Buradan birçok şey çıkartmama yardımcı oldu.

  9. halil altundag dedi ki:

    merhaba, güzel bir örnek hazırlamışsınız. Benim sorum şu şekilde olacaktı. eğer sorgumuzu Linq ile sorguladımızı düşünürsek . checkbox olacak sütunu nasıl entegre edebiliriz ?
    Yardımcı olursanız sevinirim.
    İyi çalışmalar

  10. nesibe dedi ki:

    listboxları nasıl ekleniyor

  11. mehmet dedi ki:

    button nasıl eklenıyor aynı sekilde bi örnek sunabilir misiniz

  12. Doğan dedi ki:

    Acil bişey sorabilirmiyim. peki checkbox olmadan MultiSelect özelliğiyle seçim yapıp çoklu olarak bu seçimleride hem veri tabanından hemde girdViewden silen kodları sorabilr miyim ? acil olarak . çok sağolun şimdiden ..

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.