FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Checkbox Toggle button: Dataset not in edit or insert mode
Estoy haciendo un toggle switch, que cuando le de clic cambie de estado On/off, logré hacerlo
haciendo override del método Paint , todo bien pero los bordes se veían pixelados. Así que mejor modifiqué el componente para cargar una imagen para cada estado dependiendo del checked de la imagen, en resumen estoy poniendo un componente TImage dentro de un Checkbox heredado de TwwCheckbox y al crear un toggle en runtime y asignarle un Dataset, porque dependiendo del estado del toggle se va a guardar en la base de datos, marca el siguiente error: Código:
qryToggleButton: Dataset not in edit or insert mode Código:
{aqui creo el toggle en runtime y le asigno un datasource para conectarlo a la base de datos} procedure TForm1.FormCreate(Sender: TObject); begin ToggleButton:= TinToggleButton2.Create(Self); ToggleButton.Name := 'ToggleButton'; ToggleButton.Parent:= Self; ToggleButton.Left:= 200; ToggleButton.Top:=100; ToggleButton.Visible:= true; ToggleButton.ValueChecked:= 'S'; ToggleButton.ValueUnchecked:= 'N'; ToggleButton.DisplayValueChecked:= 'S'; ToggleButton.DisplayValueUnchecked:= 'N'; ToggleButton.DataField:= 'TAutoSave'; ToggleButton.DataSource:= dsToggleButton; ToggleButton.DataSource.DataSet:= qryToggleButton; end; //activo el query procedure TForm1.Button1Click(Sender: TObject); begin qryToggleButton.Active:= true; end; //mando a la base de datos procedure TForm1.Button2Click(Sender: TObject); begin qryToggleButton.Post; end; {aquí creo el componente en otra unidad donde esta el evento click para cambiar entre imagen} constructor TinToggleButton2.Create(AOwner: TComponent); begin inherited; Width:= 34; Height:= 15; Image:= TImage.Create(Self); Image.Visible:= true; Image.Picture.LoadFromFile('toggle_Toggle1.ico'); Image.Parent:= Self; Image.OnClick:=Self.Image1Click; Self.Checked:= false; Checked:= false; end; procedure TinToggleButton2.Image1Click(Sender: TObject); begin if Image.Enabled then begin if Self.Checked then begin Self.Checked:= false; Image.Picture.LoadFromFile('toggle_Toggle1.ico'); end else begin Self.Checked:= true; Image.Picture.LoadFromFile('toggle_Toggle2.ico'); end end; end; los pongo en la forma y al checkbox le asigno tanto el DataField como el DataSource y lo que no alcanzo a comprender es que si tiene algo que ver al activar tanto el checked de la imagen como el del componente para que el DataSet se ponga en edición, tengo que hacer override de la propiedad Checked del componte? estoy asignando mal el dataset? |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Dataset not in edit or insert mode | ErYcK | C++ Builder | 3 | 23-05-2012 15:11:57 |
DataSet not in edit or insert mode | Mystery | Varios | 2 | 09-06-2010 17:40:17 |
Dataset not in edit or insert Mode | radge | OOP | 1 | 10-06-2008 15:46:32 |
Dataset not in edit or insert mode :S si esta en append! | Mannu | C++ Builder | 1 | 28-11-2007 09:52:18 |
ayuda novata: "Dataset not in Edit or Insert mode" | maquicu | Tablas planas | 1 | 05-06-2004 09:40:27 |
|