Добрый день! У меня появилась небольшая проблема :C
В общем вот : в программе стоит ListBox и ValueListEditor.
При нажатии на пункт в листбоксе, в ValueListEditor вносятся данный из БД.
При нажатии на другой пункт, да или просто если заново нажал, то данный должны удалиться и заного прописаться.
КОД :
procedure TForm_Agents.ListBox1Click(Sender: TObject);
var
I: Integer;
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM users WHERE nickname = @asas');
ADOQuery1.Parameters.ParamByName('@asas').Value := ListBox1.Items[ListBox1.ItemIndex];
ADOQuery1.Open;
while ValueListEditor1.Strings.Count > 0 do
ValueListEditor1.DeleteRow(ValueListEditor1.Row);
ValueListEditor1.InsertRow('ФИО',(ADOQuery1.FieldByName('fio').AsString),true);
ValueListEditor1.InsertRow('Никнейм',(ADOQuery1.FieldByName('nickname').AsString),true);
ValueListEditor1.InsertRow('Доступ',(ADOQuery1.FieldByName('level').AsString),true);
ValueListEditor1.InsertRow('Скайп',(ADOQuery1.FieldByName('skype').AsString),true);
ValueListEditor1.InsertRow('Нахождение',(ADOQuery1.FieldByName('location').AsString),true);
ValueListEditor1.InsertRow('Подробнее',(ADOQuery1.FieldByName('about').AsString),true);
ValueListEditor1.InsertRow('Взятые задания',(ADOQuery1.FieldByName('m_take').AsString),true);
ValueListEditor1.InsertRow('Выполенные задания',(ADOQuery1.FieldByName('m_complete').AsString),true);
ValueListEditor1.InsertRow('Штрафы',(ADOQuery1.FieldByName('penalty').AsString),true);
ValueListEditor1.InsertRow('Уникальный ID',(ADOQuery1.FieldByName('id').AsString),true);
end;
При первом клике вроде всё нормально, а при последующих выдаёт ошибку :
Grid Index out of Range.
Заранее спасибо за помощь !)