AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

cxGrid in Provider Mode: ReadOnly deaktivieren

Ein Thema von romber · begonnen am 18. Jan 2013 · letzter Beitrag vom 21. Jan 2013
Antwort Antwort
Seite 1 von 2  1 2      
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.164 Beiträge
 
Delphi 10 Seattle Professional
 
#1

cxGrid in Provider Mode: ReadOnly deaktivieren

  Alt 18. Jan 2013, 01:09
Hallo!

Ich benutze den TcxGrid von DevExpress in Privider Mode mit der eigenen von TcxCustomDataSource abgeleiteten Classe als Datenquelle. Ein Feld habe ich als CheckBox dar.
Leider lässt sich das Feld nicht editieren, obwohl ReadOnly für das Feld deaktiviert ist. Weiß jemand, was ich da Konfigurieren muss, um das Feld editierbar zu machen?

Vielen Dank!
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#2

AW: cxGrid in Provider Mode: ReadOnly deaktivieren

  Alt 18. Jan 2013, 06:12
Normalerweise reicht es, ReadOnly auf False zu setzen. Allerdings benötigt die Spalte eine 'Verbindung' (quasi Binding) zum CustomDataSource, damit etwaige Änderungen auch gespeichert werden.

Kannst Du denn raufklicken, also 'tut sich da was'?
Siehst Du die restlichen Daten in der Zeile?
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.164 Beiträge
 
Delphi 10 Seattle Professional
 
#3

AW: cxGrid in Provider Mode: ReadOnly deaktivieren

  Alt 18. Jan 2013, 10:06
Normalerweise reicht es, ReadOnly auf False zu setzen. Allerdings benötigt die Spalte eine 'Verbindung' (quasi Binding) zum CustomDataSource, damit etwaige Änderungen auch gespeichert werden.
Genau, ReadOnly ist auf False. Für die Verbindung zum CustomDataSource habe ich die uberschriebene Procedure SetValue. Oder brauche ich noch was anderes?

Kannst Du denn raufklicken, also 'tut sich da was'?
Siehst Du die restlichen Daten in der Zeile?
Ich kann zwar raufklicken, aber es tut sich nichts in der Hinsicht auf die CheckBoxen. Der Record wird markiert und das war's auch. Zu der SetValue kommt es gar nicht.
Restliche Daten sind da und auch richtig dargestellt.
  Mit Zitat antworten Zitat
SebastianZ

Registriert seit: 23. Jul 2009
89 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: cxGrid in Provider Mode: ReadOnly deaktivieren

  Alt 18. Jan 2013, 10:13
Das cxGrid ist da ein bisschen eigen. Es gibt mehrere Optionen mit denen man ein readOnly - ähnliches Verhalten bekommt.
Sie dir mal bei der betroffenen Spalte an, ob die Optionen "Editing" und "Focusing" gesetzt sind.
Kontrolliere auch sicherheitshalber das DataBinding der Spalte.

Ich würde dort den Fehler vermuten.

Lg
Sebastian
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.164 Beiträge
 
Delphi 10 Seattle Professional
 
#5

AW: cxGrid in Provider Mode: ReadOnly deaktivieren

  Alt 18. Jan 2013, 11:07
Sie dir mal bei der betroffenen Spalte an, ob die Optionen "Editing" und "Focusing" gesetzt sind. Kontrolliere auch sicherheitshalber das DataBinding der Spalte.
Editing und Focusing sind auf True. DataBindig.ValueType ist Boolean.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#6

AW: cxGrid in Provider Mode: ReadOnly deaktivieren

  Alt 18. Jan 2013, 18:48
Funktionieren die anderen Datenfelder im Grid?

Wie hast Du das Databinding realisiert? Bei mir bekommen die Spalten in der Eigenschaft 'TheColumn.DataBinding.Data' immer eine Nummer zugewiesen, die ich im GetValue/SetValue auswerte und dann den entsprechenden Wert zuweise.

Was liefert TcxYourCustomDataSource.GetValue denn?
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.164 Beiträge
 
Delphi 10 Seattle Professional
 
#7

AW: cxGrid in Provider Mode: ReadOnly deaktivieren

  Alt 18. Jan 2013, 19:43
Funktionieren die anderen Datenfelder im Grid?
Der Problemfeld ist der einzige Feld, dass editirbar ist. Alle anderen Felder sind einfache String-Felder (DataBinding = String).

Wie hast Du das Databinding realisiert? Bei mir bekommen die Spalten in der Eigenschaft 'TheColumn.DataBinding.Data' immer eine Nummer zugewiesen, die ich im GetValue/SetValue auswerte und dann den entsprechenden Wert zuweise.
So ähnlich habe ich es auch. Jeder Object in der Datenliste hat eine ID. Anhand dieser ID behandle ich die Values im GetValue/SetValue. GetValue fuktioniert perfekt.

Was liefert TcxYourCustomDataSource.GetValue denn?
Beim Inhalt dieses Feldes handelt es sich um eine Boolean-Eingeschaft. DataBinding des Feldes ist Boolean, Properties ist CheckBox, ReadOnly = false

Ich bin verzweifelt, heute den ganzen Tag damit verbracht, das Feld editierbar zu machen.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#8

AW: cxGrid in Provider Mode: ReadOnly deaktivieren

  Alt 18. Jan 2013, 20:04
Hier ein Projekt, das zeigt, das es geht.
Angehängte Dateien
Dateityp: rar Sample.rar (8,4 KB, 18x aufgerufen)
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.164 Beiträge
 
Delphi 10 Seattle Professional
 
#9

AW: cxGrid in Provider Mode: ReadOnly deaktivieren

  Alt 18. Jan 2013, 20:32
Vielen Dank für dieses Beispiel.

Fast genau so sieht es bei mir aus. Der Unterschied ist, dass ich in der CustomDataSource eine TObjectList als Datencontainer verwende und in dem Beispiel ist es ein Array.
Ich vermute, dass das Problem doch irgendwo in den Eigenschaften des Grids liegt. Denn in Ihrem Beispiel kann ich die SetValue-Routine ganz dektivieren und trotzdem reagieren die CheckBoxen auf die Klicks, auch wenn die ins Leere gehen. Beim mir ist das nicht der Fall. Bei mir sind die CheckBoxen immer Checked und nichts ändert sich beim Klick.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#10

AW: cxGrid in Provider Mode: ReadOnly deaktivieren

  Alt 19. Jan 2013, 08:33
Dann vergleiche doch einfach die Properties der Checkbox-Spalte.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz