Jump to content

Microsoft Edge Girid Düzenleme Modudunda Hata


pro_imaj

Recommended Posts

Merhaba;

 

Grid edit modda iken veril girildikten sonra Grid'in bağlı olduğu Query de While döngüsü başlatıyorum ve aşağıdaki hatayı alıyorum.

Explorer ve Crome da hiçbir sorun yok.

 

Sorun sadece Microsoft Edge de en son sürümü ve önceki sürümlerde hata hep aynı hata.

 

Yardımlarınızı rica ederim.

 

Grid is in dirty state. No more updates can be applied

 

vPl8p4.png

Link to comment
Share on other sites

  • Administrators
Grid edit modda iken veril girildikten sonra Grid'in bağlı olduğu Query de While döngüsü başlatıyorum ve aşağıdaki hatayı alıyorum.

 

 

While döngüsü için yeni bir Query objesi yaratın ve onu kullanın. Grid'in bağlı olduğu query üzerinde döngü yapmayın.

Link to comment
Share on other sites

While döngüsü için yeni bir Query objesi yaratın ve onu kullanın. Grid'in bağlı olduğu query üzerinde döngü yapmayın.

Yeni bir bileşen yerine, Grid in datasource unu nill atayıp, döngüyü kullanıp, işlemler bittikten sonra tekrar grid in datasource unu bağlasak sorunun giderilir mi?

Link to comment
Share on other sites

Hayır, bunu yaparsak Grid bulunduğu pozisyonu unutabilir, farklı sorunlar yaşayabiliriz.

Konuyu öğrenme amaçlı devam ettiriyorum, Yukarıda bahsettiğim seneryomu devam ettirirsem yani grid i datasource dan ayırdım, query ile işlemleri yaptım, query i kapatıp tekrar açarsam, grid i tekrar datasource a bağlarsam, grid refresh lenmez mi? yada grid.refresh gibi bir procedure kullansam ? gerekli konumlandırma ihtiyacı olursa sataset i locate yada bookmark ile, grid i de forumda vardı ilgili row a konumlandırsam?

İllaki böyle yapmak değil amacım, Bende alışkanlık 64k ya peek poke lar program yazmaya başladım :) web de ise lazım oldukça yaz nasılsa düz string ben hala alışamadım da :) Form eklenen her bir değişken class, server da memory, işlem yükü, üstüne bunu session sayısınlada artacak olunca planlama ihtiyacı hissediyorum. Malum, server memory ve disk size ı artıkça para demek, para ödemek değilde, ödediğim paraların kurşun olarak geri dönüyor olması canımı çok sıkıyor ayrıca.

Link to comment
Share on other sites

Yeni bir bileşen yerine, Grid in datasource unu nill atayıp, döngüyü kullanıp, işlemler bittikten sonra tekrar grid in datasource unu bağlasak sorunun giderilir mi?

 

Bunu denedim aynı hata mesajı ile karşılaşıyorum.

Link to comment
Share on other sites

While döngüsü için yeni bir Query objesi yaratın ve onu kullanın. Grid'in bağlı olduğu query üzerinde döngü yapmayın.

 

Listelenen satırlarda kullanıcı Adet girişi yapıyor, sonrasında hangi satırlarda veri girişi olduğunu bulmam için döngü ile gitmem gerekiyor, sizin dediğiniz şekilde yaparsam kullanıcı son değişikliğe enter tuşuna basmazsa o satır yeni query'e boş olarak gelir.

 

*İlgili işlemde grid üzerinde kullanıcı enter tuşuna basarsa sonrasında While döngüsünü çalıştıran butona basarsa zaten bu hata oluşmuyor.

Link to comment
Share on other sites

While döngüsü için yeni bir Query objesi yaratın ve onu kullanın. Grid'in bağlı olduğu query üzerinde döngü yapmayın.

 

Eğer bu bir hataysa, neden diğer browser larda vermiyor.

 

Sorunu çözmeye çalışıyorum fakat kullanıcıya başka browser kullan demek istemiyorum.

Link to comment
Share on other sites

  • Administrators

Eğer bu bir hataysa, neden diğer browser larda vermiyor.

 

Sorunu çözmeye çalışıyorum fakat kullanıcıya başka browser kullan demek istemiyorum.

 

Grid'in bağlı olduğu dataset'i loop'a sokmak demek grid'in bulunduğu cursor'u kaybetmesi demek. Neden sadece EDGE'de hata verdiğini bilmiyorum, ama kullandığınız yöntem başta sakıncalı.

Kullanıcı son satırı POST ettiği zaman bunu yapın örneğin. Bunu da zorunlu kılın. Sorunu çözmenin bir sürü alternatif yöntemi vardır.

Link to comment
Share on other sites

Peki loop'tan sonra dataset'i tekrar eski pozisyonuna getiriyor musunuz?

Datasetin pozisyonuyla bir işim yok. Datasource bağlı olduğu Query yi kapatıyorum.

  UniMainModule.MemYeni.IsEmpty; 
  UniMainModule.MemYeni.EmptyDataSet;


  UniMainModule.MemYeni.Close;
  UniMainModule.MemYeni.Open;
Link to comment
Share on other sites

  • Administrators

 

Datasetin pozisyonuyla bir işim yok. Datasource bağlı olduğu Query yi kapatıyorum.

  UniMainModule.MemYeni.IsEmpty; 
  UniMainModule.MemYeni.EmptyDataSet;


  UniMainModule.MemYeni.Close;
  UniMainModule.MemYeni.Open;

 

O zaman Grid son girilen datayı hangi Row'a yazması gerektiğini nasıl bilecek?

Link to comment
Share on other sites

  • Administrators

Konuyu öğrenme amaçlı devam ettiriyorum, Yukarıda bahsettiğim seneryomu devam ettirirsem yani grid i datasource dan ayırdım, query ile işlemleri yaptım, query i kapatıp tekrar açarsam, grid i tekrar datasource a bağlarsam, grid refresh lenmez mi? yada grid.refresh gibi bir procedure kullansam ? gerekli konumlandırma ihtiyacı olursa sataset i locate yada bookmark ile, grid i de forumda vardı ilgili row a konumlandırsam?

İllaki böyle yapmak değil amacım, Bende alışkanlık 64k ya peek poke lar program yazmaya başladım :) web de ise lazım oldukça yaz nasılsa düz string ben hala alışamadım da :) Form eklenen her bir değişken class, server da memory, işlem yükü, üstüne bunu session sayısınlada artacak olunca planlama ihtiyacı hissediyorum. Malum, server memory ve disk size ı artıkça para demek, para ödemek değilde, ödediğim paraların kurşun olarak geri dönüyor olması canımı çok sıkıyor ayrıca.

 

Grid'i datasource'dan ayırdığınız anda grid de içinde datayı boşaltır.

Link to comment
Share on other sites

???

  UniMainModule.DSMemYeni.DataSet.DisableControls;
  try
    // loop here
  finally
    UniMainModule.DSMemYeni.DataSet.EnableControls;
  end;

Bu şekilde //loop here yerine loop kodlarını yazdığımda program screen mask oluyormuş gibi donuyor.

 

Aslında sorunum şu. Kullanıcı yazdığı değere enter demeden işlem yaparsa bu hata oluşuyor. Bunu başka hangi yöntemle yaparım. Bu enter işi grid üzerinden veri girişlerinde hep sorun oluyor, belki ben mantığını anlamıyor olabilirim.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...