none
Devexpress grid yeni veri girişi ve kayıt RRS feed

  • Soru

  • Merhaba 

    çalışmamdaki gridcontrol üzerinden yeni satır girişi ve düzeltme işlemi yapmak istiyorum.

      CariVtDataSet set = new CariVtDataSet();
                CariVtDataSetTableAdapters.ParalarTableAdapter adp = new CariVtDataSetTableAdapters.ParalarTableAdapter();
                adp.Fill(set.Paralar);
                var kayit = from c in set.Paralar
                            where c.PbrId == 2 
                            select new { c.PbrId, c.Pbr, c.PbrUzun };
                gridControl.DataSource = kayit;

                gridView.AddNewRow(); 

    veriyi böyle çekiyorum. yeni satır ekliyorum. ancak veri girişine ve düzenlemeye izin vermiyor. 

    ne zamanki datasource = set.Paralar yaparsam sorun çözülüyor. 

    visual studionun kendi gridi kabul ediyor linq sorgusunu kabul ediyor ama devexpresin gridi kabul etmiyor. 

    nasıl çözebiliriz. neden linq sorgusunu datasource yapınca, ekleme ve düzenlemeye kapatıyor kendini.

    bir yolu varmıdır. teşekkürler.

    4 Kasım 2022 Cuma 13:54

Yanıtlar

  • Aynı sorun için buraya gelenler olursa.

    Birinci Sıkıntı Arkadas gridview readonly kısmını true yapmisti.

    Ikinci Sıkıntı datatable.Where()  kullanınca duzenlemeye izin vermiyordu.Asagidaki kodla cozuldu.

    Kayit etmekte sorun vardı. Dışarıdan datatable tanımlanınca duzeldi.

    ColumnView view = gridView1; GridColumn colCategory = view.Columns["CategoryName"]; ColumnFilterInfo filter = new ColumnFilterInfo("[CategoryName] = 'Produce'", ""); view.ActiveFilter.Add(colCategory, filter);

    İyi Gunler

    • Yanıt Olarak İşaretleyen Ferhat günay 4 Kasım 2022 Cuma 21:16
    4 Kasım 2022 Cuma 21:13

Tüm Yanıtlar

  • Bunu bir deneyip sonucunu yazar mısın?

    CariVtDataSet set = new CariVtDataSet();
    
    CariVtDataSetTableAdapters.ParalarTableAdapter adp = new CariVtDataSetTableAdapters.ParalarTableAdapter();
    
    adp.Fill(set.Paralar);
    
    var kayit = (DataTable)(from c in set.Paralar.AsEnumerable()
                            where c.PbrId == 2
                            select new { c.PbrId, c.Pbr, c.PbrUzun }).AsQueryable();
    
    gridControl.DataSource = kayit;
    
    gridView.AddNewRow();

    4 Kasım 2022 Cuma 17:17
  • ilginize teşekkürler. şu hatayı verdi.

    System.InvalidCastException
      HResult=0x80004002
      İleti='System.Linq.EnumerableQuery`1[<>f__AnonymousType1`3[System.Int32,System.String,System.String]]' türündeki nesne 'System.Data.DataTable' türüne atılamadı.
      Kaynak=Cari
      StackTrace:
       at Cari.Formlar.ParaTanimlari.ParaTanimlari_Load(Object sender, EventArgs e) in C:\Users\Frh\Desktop\Cari\Formlar\ParaTanimlari.cs:line 28
       at System.Windows.Forms.Form.OnLoad(EventArgs e)
       at DevExpress.XtraEditors.XtraForm.OnLoad(EventArgs e)
       at System.Windows.Forms.Form.OnCreateControl()
       at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
       at System.Windows.Forms.Control.CreateControl()
       at System.Windows.Forms.Control.WmShowWindow(Message& m)
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
       at System.Windows.Forms.Form.WmShowWindow(Message& m)
       at System.Windows.Forms.Form.WndProc(Message& m)
       at DevExpress.XtraEditors.DForm.WndProc(Message& m)
       at DevExpress.XtraEditors.XtraForm.WndProc(Message& msg)
       at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

    4 Kasım 2022 Cuma 18:04
  • Projeni göremediğim için hatayı takip edemiyorum, birde şunu deneyip sonucu yazarmısın.

    CariVtDataSet set = new CariVtDataSet();
    
    CariVtDataSetTableAdapters.ParalarTableAdapter adp = new CariVtDataSetTableAdapters.ParalarTableAdapter();
    
    adp.Fill(set.Paralar);
    
    var kayit = (DataTable)(from c in set.Paralar
                            where c.PbrId == 2
                            select new { c.PbrId, c.Pbr, c.PbrUzun }).AsQueryable();
    
    gridControl.DataSource = kayit;
    
    gridView.AddNewRow();

    4 Kasım 2022 Cuma 18:09
  • aynı hatayı aldı.

    System.InvalidCastException: ''System.Linq.EnumerableQuery`1[<>f__AnonymousType1`3[System.Int32,System.String,System.String]]' türündeki nesne 'System.Data.DataTable' türüne atılamadı.'

    4 Kasım 2022 Cuma 18:17
  • Dediğim gibi bakmadan çözemiyorum.

    Sen birde şunu dene, bakalım olacak mı?

     CariVtDataSet set = new CariVtDataSet();
                DataTable dt = set.Tables[0];//Tablo numarasını sana bıraktım bence sıfırdır sendeki.
    
                CariVtDataSetTableAdapters.ParalarTableAdapter adp = new CariVtDataSetTableAdapters.ParalarTableAdapter();
    
                adp.Fill((CariVtDataSet.ParalarDataTable)dt);//ParalarDataTable yanlış ise doğru olana göre düzelt
    
                var kayit = (DataTable)(from c in (CariVtDataSet.ParalarDataTable)dt
                                         where c.Pbrld == 2
                                         select new { c.Pbrld, c.Pbr, c.PbrUzun }).AsQueryable();
    
                gridControl.DataSource = kayit;
    
                gridView.AddNewRow();



    4 Kasım 2022 Cuma 18:51
  • ilginize tşkr.

    şu hatayı aldı.

    System.InvalidCastException: ''CarilerDataTable' türündeki nesne 'ParalarDataTable' türüne atılamadı.'

    4 Kasım 2022 Cuma 19:25
  • O zaman yanlış tablo seçilmiş.

    Hani ben açıklama yazdım ya;

    //Tablo numarasını sana bıraktım bence sıfırdır sendeki.

    Sen burada tablo ParalarDataTable'nın index numarasını bul. Demek ki sıfır CarilerDataTableye ait 1 olabilir 2 olabilir sırayla dene istersen sonucu yaz.

    4 Kasım 2022 Cuma 19:30
  • 12 tabloymuş düzelttim şu hatayı aldı tekrar.

    System.InvalidCastException
      HResult=0x80004002
      İleti='System.Linq.EnumerableQuery`1[<>f__AnonymousType1`3[System.Int32,System.String,System.String]]' türündeki nesne 'System.Data.DataTable' türüne atılamadı.
      Kaynak=Cari
      StackTrace:
       at Cari.Formlar.ParaTanimlari.ParaTanimlari_Load(Object sender, EventArgs e) in C:\Users\Frh\Desktop\Cari\Formlar\ParaTanimlari.cs:line 32
       at System.Windows.Forms.Form.OnLoad(EventArgs e)
       at DevExpress.XtraEditors.XtraForm.OnLoad(EventArgs e)
       at System.Windows.Forms.Form.OnCreateControl()
       at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
       at System.Windows.Forms.Control.CreateControl()
       at System.Windows.Forms.Control.WmShowWindow(Message& m)
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
       at System.Windows.Forms.Form.WmShowWindow(Message& m)
       at System.Windows.Forms.Form.WndProc(Message& m)
       at DevExpress.XtraEditors.DForm.WndProc(Message& m)
       at DevExpress.XtraEditors.XtraForm.WndProc(Message& msg)
       at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

    4 Kasım 2022 Cuma 19:48
  • Bana teamviver ID verir misin. Görmeden olmayacak. Söz konusu verilerin türünü görmek ona göre adım atmak gerek.

    bgprojects-tr@hotmail.com

    4 Kasım 2022 Cuma 19:50
  • Aynı sorun için buraya gelenler olursa.

    Birinci Sıkıntı Arkadas gridview readonly kısmını true yapmisti.

    Ikinci Sıkıntı datatable.Where()  kullanınca duzenlemeye izin vermiyordu.Asagidaki kodla cozuldu.

    Kayit etmekte sorun vardı. Dışarıdan datatable tanımlanınca duzeldi.

    ColumnView view = gridView1; GridColumn colCategory = view.Columns["CategoryName"]; ColumnFilterInfo filter = new ColumnFilterInfo("[CategoryName] = 'Produce'", ""); view.ActiveFilter.Add(colCategory, filter);

    İyi Gunler

    • Yanıt Olarak İşaretleyen Ferhat günay 4 Kasım 2022 Cuma 21:16
    4 Kasım 2022 Cuma 21:13
  • Ek bilgi olması için bazı hatalar:

    Common errors

    30 Kasım 2022 Çarşamba 10:09
    Moderatör