Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Значения в поле автоматически

1.2K
31 марта 2005 года
richel
142 / / 20.01.2005
Хочу реализовать такую вещь, а как, до конца не продумала.
В таблице Грид есть столбец с полем "Sapis" тип int. При помощи свойства MultiSelect мне нужно выделить в этом столбце несколько ячеек построчно. В первую ячейку автоматически должно занестись значение "1". А далее по строкам - как счетчик 2,3,4.... Так до последней выделенной ячейки.
С выделением у меня все в порядке. С остальным, похуже. Пыталась определить хотя бы сколько строк выделила, пока не получилось. Хотя, наверное, это главное. А затем пойдет цикл.
Изменение значений в ячейках хочу сделать на событие кнопки контекстного меню.
Поделитесь, пожалуйста, соображениями.
487
31 марта 2005 года
ddnh_bc
301 / / 16.09.2003
Цитата:
Originally posted by richel
С выделением у меня все в порядке. С остальным, похуже. Пыталась определить хотя бы сколько строк выделила, пока не получилось. Хотя, наверное, это главное.



Для multiselect в гридах есть такое свойство Selection.

В твоем случае, я понимаю, это долно выглядеть примерно так:

 
Код:
int sel_cols=Grid->Selection.Bottom-Grid->Selection.Top;
// Я точно не помню - проверь, но возможно еще надо сделать потом sel_cols++; Не помню есть там смещение или нет.
for (int i=Grid->Selection.Top;i<Grid->Selection.Bottom;i++)
{
   Grid->Cells[col]=IntToStr(i-Grid->Selection.Top+1);
}
1.2K
31 марта 2005 года
richel
142 / / 20.01.2005
Цитата:
int sel_cols=Grid->Selection.Bottom-Grid->Selection.Top;


А поточнее не знаете? Ищу в справке Билдера свойство Selection, там его вообще нет. Фраза не проходит, выдается "or" "or".

487
31 марта 2005 года
ddnh_bc
301 / / 16.09.2003
Цитата:
Originally posted by richel
А поточнее не знаете? Ищу в справке Билдера свойство Selection, там его вообще нет. Фраза не проходит, выдается "or" "or".



А вы войдите в справку по тому гриду, который используете: TDrawGrid? TStringGrid? И посмотрите пункт Properties. Там в числе прочих свойств и будет Selection.

1.2K
31 марта 2005 года
richel
142 / / 20.01.2005
Цитата:
Originally posted by ddnh_bc
А вы войдите в справку по тому гриду, который используете: TDrawGrid? TStringGrid? И посмотрите пункт Properties. Там в числе прочих свойств и будет Selection.


Вот оно что...:o А я использую DBGridEh. У него нет этого свойства?

487
31 марта 2005 года
ddnh_bc
301 / / 16.09.2003
Цитата:
Originally posted by richel
Вот оно что...:o А я использую DBGridEh. У него нет этого свойства?



Я не знаю данный компонент, но сильно подозреваю что он надстроен над компонентом DBGrid. А у него для этих целей по-идее предназначено поле SelectedRows. Попробуйте использовать его.

1.2K
01 апреля 2005 года
richel
142 / / 20.01.2005
Мне подсказали, что в DBGrid-е это так:
Цитата:
[COLOR=royalblue] int nCnt = Grid_Tank->SelectedRows->Count;
int first = 0;
int last = 0;
if(nCnt>0)
{
TBookmark SavePlace = Grid_Tank->DataSource->DataSet->GetBookmark();
Grid_Tank->DataSource->DataSet->DisableControls();
try
{
Grid_Tank->DataSource->DataSet->GotoBookmark((void *)Grid_Tank->SelectedRows->Items[0].c_str());
first = Grid_Tank->DataSource->DataSet->RecNo;

ShowMessage(IntToStr(first));

Grid_Tank->DataSource->DataSet->GotoBookmark((void *)Grid_Tank->SelectedRows->Items[nCnt-1].c_str());
last = Grid_Tank->DataSource->DataSet->RecNo;

ShowMessage(IntToStr(last));

Grid_Tank->DataSource->DataSet->GotoBookmark(SavePlace);
}
__finally
{
Grid_Tank->DataSource->DataSet->FreeBookmark(SavePlace);
Grid_Tank->DataSource->DataSet->EnableControls();
}
}[/COLOR]

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог