DatagridView de istenilen satır;sütunun değerini almak

Başlatan since1990, 11 Mayıs 2013, 22:28:17

since1990

Arkadaşlar 2 saatir uğraşıyorum istenilen satır sütunu alamıyorum. Örneğin Sıra ile satır sütunları çekmek istiyorum olmuyor;
marka[1] =    dataGridView1.Rows[1].Cells["Marka"].Value.ToString();

Diyorum "Nesne başvurusu bir nesnenin örneğine ayarlanmadı." diyor.
Yukarıda yazdığım kod Marka sütunun 1. satırını alması gerekmezmi. İnternette hep seçili satırın içeriğini almakla ilgili örnekler yapılmış. Ben otomatik olarak almak istiyorum.
marka[i] = dataGridView1["Marka", 2].Value.ToString();

Kullanıncada Dizin aralık dışındaydı. Negatif bir değer olmamalı ve koleksiyonun boyutundan daha küçük olmalıdır.
"Dinlenmemek üzere yola çıkanlar asla yorulmazlar. Türk gençliği, gayeye, idealizme durmadan ve yorulmadan yürüyecektir. Bütün ümidim gençliktedir." Mustafa Kemal Atatürk

Kabil ATICI

C# üzerinde tam olarak denemedim ama vb ve Delphi'de bu grid öğeleri tek yönlü diye biliyorum... Yani sadece gösteriyor... Hücreden geri okunamıyor diye biliyorum..

O yüzden oluşturduğun grid öğesi üzerinde işlem yapmak için bir grid ile aynı boyutta matris oluşturup her grid güncellemesinde bu matriside güncelliyorum. Okumam gerektiğinde de bu matrisi okuyorum...
ambar7

since1990

Hocam intenette seçili satır ve sütunu okumak için bvirsürü örnek var "tıklanılan hücreyi" almak için. Fakat matris gibi satır sütun numarası vererek alamıyorum.
"Dinlenmemek üzere yola çıkanlar asla yorulmazlar. Türk gençliği, gayeye, idealizme durmadan ve yorulmadan yürüyecektir. Bütün ümidim gençliktedir." Mustafa Kemal Atatürk

muhittin_kaplan


since1990

Exccelden hocam tablyu grid viewin içerisinde görüyorum.
"Dinlenmemek üzere yola çıkanlar asla yorulmazlar. Türk gençliği, gayeye, idealizme durmadan ve yorulmadan yürüyecektir. Bütün ümidim gençliktedir." Mustafa Kemal Atatürk

muhittin_kaplan

#5
excel den direk nasıl alıyorsun. Demem O ki, dataset, yada datatable gibi bir nesneden atıyorsundur diye düşünüyorum,

mesaj birleştirme:: 12 Mayıs 2013, 14:29:15

Label1.Text = DataGridView1.Rows(1).Cells(0).Value.ToString

ile çalıştı. Ama Vb.net ile denedim. şimdi birde c# ile deneyeyim

mesaj birleştirme:: 12 Mayıs 2013, 14:34:40

         label1.Text = dataGridView1.Rows[0].Cells[1].Value.ToString();

buda çalışıyor.

mesaj birleştirme:: 12 Mayıs 2013, 14:44:56

            
string colnum;
colnum = dataGridView1.Columns[1].Name; 
 label1.Text = dataGridView1.Rows[0].Cells[colnum].Value.ToString();

since1990

Teşekürler Muhittin hocam en az 10 defadır hızır gibi yetişiyorsunuz.
"Dinlenmemek üzere yola çıkanlar asla yorulmazlar. Türk gençliği, gayeye, idealizme durmadan ve yorulmadan yürüyecektir. Bütün ümidim gençliktedir." Mustafa Kemal Atatürk

muhittin_kaplan

Teşekkür ederim.
Hocam Excel den bilgi almak Programı hantallaştırmıyor mu ?
ne iş için kullanıyorsun ?

since1990

Hocam depodaki  malzemeleri etiketleyeceğiz, depodaki malzemelerde hali hazırda excel ile yazılmış. Otomatik etiket oluşturan bir yazılım yazdım sayenizde :D
"Dinlenmemek üzere yola çıkanlar asla yorulmazlar. Türk gençliği, gayeye, idealizme durmadan ve yorulmadan yürüyecektir. Bütün ümidim gençliktedir." Mustafa Kemal Atatürk

muhittin_kaplan

İşinizi Görüyorsa Sorun Yok.
Ama Ben Olsam "Küçük Boyutlu Bir Kayıt için" veritabanı mantığını kullanırdım.
Bu iş İçin Access,C# bence güzel olurdu.
giriş,çıkış, adet sorgulama gibi özellikler doğrudan oluşurdu.

Şimdi Bir Soum Daha Var. EXCEL den bilgiyi dataset e alıyorsunuz değil mi, oradan grid e aktarıyorsunuz.
Data Set e ne ile excel e bağladınız ?

since1990

Data gridviewe excelli almak için yaptığım tek şey bu;

OleDbConnection baglanti = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excel_yolu + "; Extended Properties=Excel 12.0");
            baglanti.Open();
            string sorgu = "select * from [Sayfa1$] ";
            OleDbDataAdapter data_adaptor = new OleDbDataAdapter(sorgu, baglanti);
            baglanti.Close();

            DataTable dt = new DataTable();
            data_adaptor.Fill(dt);
            dataGridView1.DataSource = dt;

"Dinlenmemek üzere yola çıkanlar asla yorulmazlar. Türk gençliği, gayeye, idealizme durmadan ve yorulmadan yürüyecektir. Bütün ümidim gençliktedir." Mustafa Kemal Atatürk

X-Fi

Excel'e aktarmak için olanıda ben vereyim o zaman. Zamanında çok aramıştım :)

        private void Kaydet_Click(object sender, EventArgs e)
        {
            Excel.Application xlApp;
            Excel.Workbook xlWorkBook;
            Excel.Worksheet xlWorkSheet;
            object misValue = System.Reflection.Missing.Value;

            xlApp = new Excel.ApplicationClass();
            xlWorkBook = xlApp.Workbooks.Add(misValue);
            xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
            int i = 0;
            int j = 0;

            for (i = 0; i <= Ekran.RowCount - 1; i++)
            {
                for (j = 0; j <= Ekran.ColumnCount - 1; j++)
                {
                    DataGridViewCell cell = Ekran[j, i];
                    xlWorkSheet.Cells[i + 1, j + 1] = cell.Value;
                }
            }

            xlWorkBook.SaveAs("C:\\Ram_islem.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
            xlWorkBook.Close(true, misValue, misValue);
            xlApp.Quit();

            releaseObject(xlWorkSheet);
            releaseObject(xlWorkBook);
            releaseObject(xlApp);
             
        }

        private void releaseObject(object obj)
        {
            try
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
                obj = null;
            }
            catch (Exception ex)
            {
                obj = null;
                MessageBox.Show("Exception Occured while releasing object " + ex.ToString());
            }
            finally
            {
                GC.Collect();
            }
        }





Ekran => dataGridView'dir
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)