none
Gridview üzerinde verileri almak RRS feed

  • Genel Tartışma

  • Merhaba Arkadaşlar,

    c#, Gridview üzerinde checkedit seçimi yaparak seçilmiş olan satırın bilgisini almak istiyorum fakat tohaf bir sorundur ki şöyle oluyor , gridüzerindeki checkedit true yapıyorum ve Breakpoint ile kontrol ettiğimde

    bu alan false gelmekte gridView1.GetRowCellValue(gridView1.FocusedRowHandle, PARCAYENILENDIMI).ToBoolean(), fakat form üzerinde farlı bir yeri seçip tekrar false a alıp ve yine checkedit i true yaptığımda sonuç true olarak dönmekte bu sorunu bir türlü çözemedim ne yapabilirim acaba

    private void chcparcayeni_CheckedChanged(object sender, EventArgs e)
            {
                gridView1.RefreshData();
                CheckEdit chc = sender as CheckEdit;
                if (chc.Checked)
                {
                    if (HelpMethod.IsDialogResult("Parça Kalan Ömrü Yenilensin mi?"))
                    {
                        bool x = gridView1.GetRowCellValue(gridView1.FocusedRowHandle,
    PARCAYENILENDIMI).ToBoolean(); if (x) { BAKIM_ENTITY b = new BAKIM_ENTITY(); b.ID = gridView1.GetFocusedRowCellValue(ID).ToInt32(); b.TIPI = gridView1.GetFocusedRowCellValue(TIPI).ToString(); b.TANIMI = gridView1.GetFocusedRowCellValue(TANIMI).ToString(); if (bakimitem != null) { BAKIMISLEM.PARCAOMRUNU_YENILE(b, b.TIPI); getekipman(); } } } } }

    5 Ekim 2016 Çarşamba 21:51

Tüm Yanıtlar

  • birkaç nedeni olabilir çözüm yollarına denemelisin.

    1- bir fieldname bağla eğer yoksa bir classa bağla

    2- üstteki varsa bindingsource nesnesine bağlayabilirsin.

    3-kodun üstüne

    gridView1.ActiveEditor.IsModified = true;

    kodunu ekle


    kdrgny@outlook.com

    6 Ekim 2016 Perşembe 22:35
  • Abi kodu denedim olmadı diğerlerini anlayamadım bütün kodlarımı vereyim belki daha iyi sonuç olabilir kafayı yicem sorunumu kısaca tekrar yazmak istiyorum,  grid üzerindeki checked box true değerini alamıyorum bakılım bu işin sonu nereye gidecek :)

    checkededit eventinde bu işlemi yapmaya çalışıyorum yani true değerini almaya çalışıyorum acaba grid eventinde mi bunu yapmam gerekiyor.

    public static List<BAKIM_ENTITY> GET_ALTEKIPMAN(int SntId, int ANAEKIPMANID)
            {
                List<BAKIM_ENTITY> result = new List<BAKIM_ENTITY>();
    
                BAKIM_ENTITY item = null;
                using (SqlDataReader rdr = SqlHelper.ExecuteDataReader("SELECT ALTEKIPMANID, ALT_EKIPMAN, 
    SAVEDATE, USERID, ANAEKIPMANID, SANTRALID, TOPLAMCALISMASAATI, PLANLIOVERHAULSAAT, OVEROLSONCALSAAT, NOTU,
    ISNULL(PARCAOMRU,0) AS PARCAOMRU,ISNULL(PARCAOMRU, 0) - ISNULL(TOPLAMCALISMASAATI, 0)
    AS KALANOMRU, CASE WHEN OVERHAULEKALCALSAAT=0 THEN PLANLIOVERHAULSAAT ELSE OVERHAULEKALCALSAAT
    END AS OVERHAULEKALCALSAAT FROM ALT_EKIPMAN WHERE SANTRALID=@ID AND ANAEKIPMANID=@ANAEKIPMANID",
    new SqlParameter { ParameterName = "@ID", Value = SntId }, new SqlParameter {
    ParameterName = "@ANAEKIPMANID", Value = ANAEKIPMANID })) { while (rdr.Read()) { item = new BAKIM_ENTITY(); item.TANIMI = rdr["ALT_EKIPMAN"].ToString(); item.TOPLAMCALISMASAATI = rdr["TOPLAMCALISMASAATI"].ToInt32(); item.PLANLIOVERHAULSAAT = rdr["PLANLIOVERHAULSAAT"].ToInt32(); item.OVEROLSONCALSAAT = rdr["OVEROLSONCALSAAT"].ToInt32(); item.OVERHAULEKALCALSAAT = rdr["OVERHAULEKALCALSAAT"].ToInt32(); item.TIPI = "Alt Ekipman"; item.NOTU = rdr["NOTU"].ToString(); item.ID = rdr["ALTEKIPMANID"].ToInt32(); item.KALANOMRU = rdr["KALANOMRU"].ToInt32(); item.PARCAOMRU = rdr["PARCAOMRU"].ToInt32(); result.Add(item); } rdr.Close(); return result; } } void methots() { altekipman = TreeSelect.Tag as ALT_EKIPMAN_ENTITY; if (altekipman == null) return; bs.DataSource = BAKIMISLEM.GET_ALTEKIPMAN(altekipman.SANTRALID, altekipman.ANAEKIPMANID).ToList(); gridView1.BestFitColumns(); } Burada ne y nede x değerleri doğru gelmiyor PARCAYENILENDIMI true alamıyorum private void chcparcayeni_CheckedChanged(object sender, EventArgs e) { CheckEdit chc = sender as CheckEdit; if (chc.Checked) { gridView1.ActiveEditor.IsModified = false; if (HelpMethod.IsDialogResult("Parça Kalan Ömrü Yenilensin mi?")) { object y = (this.gridControl1.DataSource as BindingSource).List as IList<BAKIM_ENTITY>; var x = gridView1.GetFocusedRowCellValue("PARCAYENILENDIMI"); if (x.ToBoolean()) { BAKIM_ENTITY b = new BAKIM_ENTITY(); b.ID = gridView1.GetFocusedRowCellValue(ID).ToInt32(); b.TIPI = gridView1.GetFocusedRowCellValue(TIPI).ToString(); b.TANIMI = gridView1.GetFocusedRowCellValue(TANIMI).ToString(); if (bakimitem != null) { BAKIMISLEM.PARCAOMRUNU_YENILE(b, b.TIPI); getekipman(); } } } } }


    • Düzenleyen csharpp 7 Ekim 2016 Cuma 17:29
    7 Ekim 2016 Cuma 17:25
  • gridView1.ActiveEditor.IsModified = false;

    bunu true yap. gridView1.BestFitColumns(); sonrasına koy dene bir. yüksek ihtimalle check de bir fieldname olmadığından yapıyor.


    kdrgny@outlook.com

    7 Ekim 2016 Cuma 19:30