IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Раюбота C Stringgrid, Редактирование и удаление записей
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 46
Пол: Мужской
Реальное имя: Дмитрий

Репутация: -  0  +


Есть поле StringGrid я хочу зделать чтоб по выделегию какой либо ячейке нажатию кнопки Редактировать запись можно было изменить уже введенные записи в во всей строке где была выделенна ячейка (тоесть появлялася форма в котрой в полях edit були введены те данные которые были введены в строке и при их измение они бы и менялись в StringGrid в тойже строке.)
Также при если была бы веделенна ячейка и нажата кнопка Удалить то удалялась вся строка где была выделенная ячейка. При этом нумерация ячеек поттягивалась (была нумерация 1,2,3,4,5,6,7 удалиле 3 стало 1,2,4,5,6,7 нужно чтоб все стало попарятку. нумерация происходит сама при помощи наращивания в переменную kol при добовлении новой записи.)
Заранее спасибо!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 6)
сообщение
Сообщение #2


Гость






Так я не понял в чем проблема? Создаеш отдельную форму, при нажатии на кнопку форма отображается, а поля заполняются значениями из Grid.
Вот пример
procedure TForm1.BitBtn1Click(Sender: TObject);
var
i : Integer;
begin
i := Form1.StringGrid1.Row;
Form2.Edit1.Text := Form1.StringGrid1.Cells[1,i];
Form2.Edit2.Text := Form1.StringGrid1.Cells[2,i];
Form2.ShowModal;
Form1.StringGrid1.Cells[1,i] := Form2.Edit1.Text;
Form1.StringGrid1.Cells[2,i] := Form2.Edit2.Text;
end;

Это конечно коряво но за 2-мин. smile.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


а для второго, соответственно, всю инфу из строк ниже выбранной поднимаешь, а потом уменьшаешь количество строк всего грида.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 46
Пол: Мужской
Реальное имя: Дмитрий

Репутация: -  0  +


Большое спасибо!!!
Появился есче один вопрос Я делаю сортировку вот кот:
procedure TForm1.SortABC(col: integer);
var
i,j,p:integer;
s:string;
EndSort:boolean; //закончить ли сортировку
begin
p:=col;
repeat
EndSort:=true;
with StringGrid1 do
begin
for i:=2 to RowCount-1 do
if MoreABC( Cells[p,i], Cells[p, i-1]) then
begin
EndSort:=false;
for j:=0 to ColCount-1 do //меняет местами строки
begin
s:=Cells[j,i-1];
Cells[j,i-1]:=Cells[j,i];
Cells[j,i]:=s;
end;
end;
end;
until EndSort;
end;

procedure TForm1.N11Click(Sender: TObject);
begin
SortABC(0);
end;

но она делаеться не совсем так как хотелось бы есть 22 записи вот что получаеться при сортировки
1=>1
2=>10
3=>11
4=>22
5=>3
6=>4
7=>5
как зделать чтоб сортировка происходила в правеоьном порятке??


М
Теги !

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






В функции MoreABC сравнивай не строки, а числа, которые они представляют (можно использовать StrToInt)...

Как выглядит у тебя эта функция?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 14
Пол: Мужской

Репутация: -  0  +


А код функции MoreABC можно?
Я поставил
if (StrToInt(Cells[p,i]) < StrToInt(Cells[p, i-1])) then

И У меня все работает smile.gif
Это если нужно целые числа сортировать, а если строки то без StrToInt.

Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 46
Пол: Мужской
Реальное имя: Дмитрий

Репутация: -  0  +


Все есче раз всем спасибо!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 19:17
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name