Grid editável com intraweb
Olá,
Estou desenvolvendo uma aplicação em intraweb porém, preciso criar uma página que tenha um grid que seja editável nesse grid, vai ter 5 edit´s e uma combobox. Já fiz várias tentativas e nada conseguí criar o grid mas não estou conseguindo gravar no banco e está demorando muito para liberar os controles.
Alguma dica ?????
Obrigado.
Estou desenvolvendo uma aplicação em intraweb porém, preciso criar uma página que tenha um grid que seja editável nesse grid, vai ter 5 edit´s e uma combobox. Já fiz várias tentativas e nada conseguí criar o grid mas não estou conseguindo gravar no banco e está demorando muito para liberar os controles.
Alguma dica ?????
Obrigado.
Gilbertoteixeira
Curtidas 0
Respostas
Gilbertoteixeira
05/05/2008
Olá,
Preciso de grid que permita o usuário editar algumas informações e estou conseguindo fazer isso com o código abaixo:
K := dbClientDataSet.RecordCount;
If(K > 0) Then
begin
dbClientDataSet.First;
grdAgenda.RowCount := K;
For K := 0 to grdAgenda.RowCount -1 do
begin
With grdAgenda do
begin
With Cell[K,1] do
begin
Control := TIWEdit.Create(Self);
With TIWEdit(Control) do
begin
Text;
Width := 40;
end;
end;
end;
end;
end;
O grande problema está na hora de gravar pois, está demorando muito. Vejam a gravação:
With grdAgenda do
begin
For I := 0 to grdAgenda.RowCount -1 do
begin
With Cell[I,1] do
begin
with TIWEdit(Control) do
begin
If(Text <> ´´) Then
begin
Paciente := Text;
With UserSession do
begin
pHorario.Close;
pHorario.Connection := dbConexao;
pHorario.ProcedureName := ´pAgendamentoConsulta;1´;
pHorario.Parameters.Clear;
pHorario.Parameters.CreateParameter(´Paciente´, ftString, pdInput, 40, Paciente);
pHorario.Prepared := True;
pHorario.ExecProc;
end;
end;
end;
end;
end;
end;
Fiz alguns testes e acabei descobrindo que o problema está na quantidade de linhas do grid que são 78. Testei com 10 linhas e o resultado foi bom. Alguma dica ??????
Já estou há uma semana enrolado nisso.
Obrigado.
Preciso de grid que permita o usuário editar algumas informações e estou conseguindo fazer isso com o código abaixo:
K := dbClientDataSet.RecordCount;
If(K > 0) Then
begin
dbClientDataSet.First;
grdAgenda.RowCount := K;
For K := 0 to grdAgenda.RowCount -1 do
begin
With grdAgenda do
begin
With Cell[K,1] do
begin
Control := TIWEdit.Create(Self);
With TIWEdit(Control) do
begin
Text;
Width := 40;
end;
end;
end;
end;
end;
O grande problema está na hora de gravar pois, está demorando muito. Vejam a gravação:
With grdAgenda do
begin
For I := 0 to grdAgenda.RowCount -1 do
begin
With Cell[I,1] do
begin
with TIWEdit(Control) do
begin
If(Text <> ´´) Then
begin
Paciente := Text;
With UserSession do
begin
pHorario.Close;
pHorario.Connection := dbConexao;
pHorario.ProcedureName := ´pAgendamentoConsulta;1´;
pHorario.Parameters.Clear;
pHorario.Parameters.CreateParameter(´Paciente´, ftString, pdInput, 40, Paciente);
pHorario.Prepared := True;
pHorario.ExecProc;
end;
end;
end;
end;
end;
end;
Fiz alguns testes e acabei descobrindo que o problema está na quantidade de linhas do grid que são 78. Testei com 10 linhas e o resultado foi bom. Alguma dica ??????
Já estou há uma semana enrolado nisso.
Obrigado.
GOSTEI 0