![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 08.11.2008
Сообщений: 21
|
![]()
Добрый день. У меня такой вопрос. Возможно ли сделать так чтобы при нажатии на строке в таблицы открывалась форма, и для каждой строки отдельная форма? Если да то прошу написать как это делается.
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 29.09.2009
Сообщений: 587
|
![]()
какая именно таблица StringGrid или DBGrid.
Если DBGrid то у него есть событие OnCellClik вроде так. там пишешь следующие Код:
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 08.11.2008
Сообщений: 21
|
![]()
Спасибо, но у меня StringGrid как для него делать?
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 29.09.2009
Сообщений: 587
|
![]()
ну у него есть свойство OnMouseDown на его событие получаем координаты курсора. вычесляем разницу с координатами начала stringgrida . смотрим какой длины и ширины строки. делем координату y на ширину строки получаем количество строк до координаты и номер строки а дальше как работать с обычным стринг гридом. Наверное как то так. Может есть способ и проще
|
![]() |
![]() |
![]() |
#5 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Если по простому то опиши OnDblClick грида так:
Код:
I'm learning to live...
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 29.09.2009
Сообщений: 587
|
![]()
ой затупил тебе же открытие формы нужно а не получение номера строки извеняюсь))) тогде на OnDblClik или на OnCelSelect
Последний раз редактировалось Lokos; 30.09.2010 в 07:52. |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 08.11.2008
Сообщений: 21
|
![]()
Спасибо за помощь.
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 08.11.2008
Сообщений: 21
|
![]()
У меня еще один вопрос.
Есть форма на ней расположены кнопка, stringgrid, combobox. Надо сделать так чтобы при выборе в combobox название акции и нажатии на кнопку в таблице показывала даные по участникам в акции. Вот код: unit Unit3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DBXpress, FMTBcd, DB, SqlExpr, Grids, StdCtrls; type TForm3 = class(TForm) StringGrid3: TStringGrid; SQLConnection1: TSQLConnection; Q3: TSQLQuery; Button1: TButton; ComboBox1: TComboBox; procedure FormActivate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure ComboBox1Change(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form3: TForm3; implementation {$R *.dfm} procedure TForm3.FormActivate(Sender: TObject); var d:integer; begin try Q3.Open; except on e:exception do showmessage(e.Message) end; stringgrid3.Visible:=false; stringgrid3.RowCount:=2; d:=1; while not Q3.Eof do begin StringGrid3.Cells[0,0]:= 'Номер карты'; StringGrid3.Cells[1,0]:= 'Акция'; stringgrid3.Cells[0,d]:=Q3.fields[0].AsString; stringgrid3.Cells[1,d]:=Q3.fields[1].AsString; Q3.Next; inc(d); stringgrid3.RowCount:=d+2; end; stringgrid3.Visible:=true; if Q3.Active then Q3.Close; combobox1.Clear; Form3.Q3.SQL.Text:='select name from act_new'; Form3.Q3.Open; if Form3.Q3.Active then begin Form3.Q3.First; while not q3.Eof do BEGIN Form3.ComboBox1.Items.Add(Form3.Q3. FieldByName('name').AsString); Form3.Q3.Next; END; q3.Close; end; end; procedure TForm3.Button1Click(Sender: TObject); begin q3.SQL.Text:='select card_number, act_0 from spiski where name='+inttostr(combobox1.ItemIndex )+''; q3.Close; end; procedure TForm3.ComboBox1Change(Sender: TObject); begin q3.SQL.Text:='select card_number, act_'+inttostr(combobox1.ItemIndex) +' from spiski where act_'+inttostr(combobox1.ItemIndex) +'=1'; q3.Open; end; end. Последний раз редактировалось slai; 30.09.2010 в 08:16. |
![]() |
![]() |
![]() |
#9 | |
Пользователь
Регистрация: 08.11.2008
Сообщений: 21
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 17.09.2010
Сообщений: 229
|
![]()
Я так думаю номер строки?!? только учти что нумерация начинается с 0.
Правильно заданный вопрос - половина ответа!
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Таблица в C# (не БД) | mopozoff | Общие вопросы .NET | 6 | 15.11.2015 00:15 |
Таблица... | Streb | Общие вопросы C/C++ | 2 | 12.01.2010 17:45 |
Таблица | Настенька..Блонди | Помощь студентам | 3 | 07.01.2009 18:16 |