![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
StringGrid [D7, XP]
alexsashkan © (2008-02-07 12:17:00)ЗДРАВСТВУЙТЕ!!! У меня есть вопросик,я делаю перемещение по СтрингГриду,тоесть кнопочку "Фёрст","Ласт".Вот в ДБГриде есть такая штучка,что можна перемещаться по записям..то на последнююю..то на первую..то добавить строку..и т.д.А вы не подскажите есть ли в Стрингриде такое ? и как до него добраться ??? Заранее благодарен!!!
Плохиш (2008-02-07 13:06:00) [41]
> Про
читать как "Пора" :-)
Сергей М. (2008-02-07 13:05:00) [42]
> добавить строки в ДбГрид..мне вчера обьяснили
> что этого сделать нельзя(на этом сайте)
И правильно тебе объяснили.
Добавление строк в DBGrid сводится не иначе как к добавлению записей в DataSet, к которому этот DBGrid привязан через DataSource.
Вот на работе с DataSet и следует сосредоточить усилия.
> АДОКвери
А какая СУБД используется ?
Плохиш (2008-02-07 13:05:00) [43]
> alexsashkan (07.02.08 13:00) [10]
Данные надо добавлять в свой "АДОКвери", т.к. все данные в нём, а не в "ДБГрид".
Про уже что-то почитать.
ketmar (2008-02-07 13:04:00) [44]>[9] Сергей М. © (2008-02-07 12:59:00)
>согласись, ректальность того или иного подхода далеко не всегда очевидна.
соглсен. но она может быть очевидна кому-то другому. поэтому лучше сразу озвучть задачу — авось и пнут куда надо.
>тот же штатный DBGrid обладает рядом существенных недостатков и желание
>доработать его напильником порой вполне оправдано
и снова согласен.
>[10] alexsashkan (2008-02-07 13:00:00)
можно, но лучше не надо.
щаз из меня опять бред попрёт: композитный dataset?
---
Understanding is not required. Only obedience.
alexsashkan (2008-02-07 13:00:00) [45]Задача такая - АДОКвери,делаю запрос,получаю данные,они отображаються в ДБгриде,потом получаю данные из Екселя и мне данные из Екселя необходимо добавить в ДБГрид,тоесть добавить строки в ДбГрид,а потому как мне вчера обьяснили что этого сделать нельзя(на этом сайте),поэтому я выбрал СтрингГрид,для отображения данных...и добавления данных
Сергей М. (2008-02-07 12:59:00) [46]
> ketmar © (07.02.08 12:52) [8]
Но, согласись, ректальность того или иного подхода далеко не всегда очевидна.
Скажем, тот же штатный DBGrid обладает рядом существенных недостатков и желание доработать его напильником порой вполне оправдано. Правда, это не случай автора)
ketmar (2008-02-07 12:52:00) [47]>[5] alexsashkan (2008-02-07 12:44:00)
о. вот тут мы доходим до, собственно, задачи. глядишь, не пройдёт и 50 постов, как задачу полностью сформулируют.
пойми ты, мы обычно требует озвучить оригинальную задачу не потому, что дико любопытные все. в основном потому, что в большинстве случаев задачу можно решить на ректально, а нормально. но новички этого могут просто не знать. и если мы задачу не выпытаем — так и будут использовать велосипеды и возмущаться, что «не придумали/не сделали удобную фичу».
---
Understanding is not required. Only obedience.
ketmar (2008-02-07 12:50:00) [48]>[3] alexsashkan (2008-02-07 12:37:00)
где это сказали, что нельзя? O_o
---
Understanding is not required. Only obedience.
Сергей М. (2008-02-07 12:48:00) [49]
> в DBGrid нельзя добавить новую Строку
Конечно нельзя.
В DBGrid нет никаких строк, в отличии от StringGrid этот компонент служит лишь для отображения данных, а сами данные находятся в DataSet.
> после выборки чреез Запрос я могу в у существующим данным
> добавить ещё...не потеряв выборку из запроса
Все тоже самое с успехом реализуется с пом. упомянутой связки.
> без потери данных этого у меня не получаеться
Ну это же совсем другой вопрос)
То что не получается вряд ли есть повод к изобретению велосипеда)
alexsashkan (2008-02-07 12:44:00) [50]
> за каким лешим тебе понадобилось изобретать этот велосипед
> ?)
>
> Есть же готовая связка ClientDataSet -> DataSource -> DBGrid,
> чем она плоха ?
Потому что в DBGrid нельзя добавить новую Строку и заполнить её значения,если до этого у тебя уже заполнена вся "DBGrid" и без потери данных этого у меня не получаеться.Потому я и выбрал СтрингГрид,из-за того что после выборки чреез Запрос я могу в у существующим данным добавить ещё...не потеряв выборку из запроса
Сергей М. (2008-02-07 12:41:00) [51]
> alexsashkan
за каким лешим тебе понадобилось изобретать этот велосипед ?)
Есть же готоваясвязка ClientDataSet -> DataSource -> DBGrid, чем она плоха ?
alexsashkan (2008-02-07 12:37:00) [52]
> нет, нету, и никак до негоне добраться... расслабся...
> советую написать решение квадратного уравнения... поверь,
> задача намного сложнее описанной тобою...
удаление текущей записи
var
i,j: Integer;
begin
j:=SG1.Row; // строка с выделением
SG1.Rows[j].Clear;
for i:=j to SG1.RowCount-2 do
SG1.Rows[i].Assign(SG1.Rows[i+1]);
SG1.RowCount:=SG1.RowCount-1;
//--------------------------------------------------------
А вы говорили нельзя....может кто-то подскажет как на основании этого сделать теперь перемещение по списку на начало и финиш ???
Palladin (2008-02-07 12:24:00) [53]
> alexsashkan (07.02.08 12:17)
нет, нету, и никак до негоне добраться... расслабся...
советую написать решение квадратного уравнения... поверь, задача намного сложнее описанной тобою...
ketmar (2008-02-07 12:22:00) [54]как напишешь — сразу и появится.
---
Understanding is not required. Only obedience.