Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Забыл как !!! Простейший баг забыл как обойти... 
:(
    Опции темы
McDevil
Дата 12.2.2006, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.12.2005
Где: Казахстан, Павлод ар

Репутация: нет
Всего: 3



В общем забыл самое простое(а ведь раньше делал как - то), и не знаю как это обьяснить - то. В общем надо, чтобы при указывании пола сотрудника сразу показывалось поле национальность соответственно "русский" или "русская" - эти значения берутся из справочника и из выпадающего списка. Для полного уточнения добавляю изображение не полянитесь скачайте плиз 91 кб...


Присоединённый файл ( Кол-во скачиваний: 60 )
Присоединённый файл  11.rar 90,43 Kb


--------------------
 мы знаем столько, сколько можем, а можем столько, сколь хотим... 

Тестируем программу: SPL-программа аналогов функций  
PM MAIL WWW ICQ   Вверх
Halt
Дата 12.2.2006, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 12.2.2006

Репутация: нет
Всего: нет



Ниче не понимаю, обьясни толком, твоя имага только дело запутывает.
PM MAIL   Вверх
sexton
Дата 12.2.2006, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sexton=Пономарь (eng)
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 5.5.2004
Где: Ульяновск

Репутация: нет
Всего: 9



Нуу умных вариантов много... Могу навскидку подкинуть самый глупый и простой - писать в базу по два наименования для каждого пола и вести дополнительное поле, в котором будет соответствующий этому написанию пол...
PM MAIL WWW ICQ   Вверх
McDevil
Дата 12.2.2006, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.12.2005
Где: Казахстан, Павлод ар

Репутация: нет
Всего: 3



Цитата(sexton @ 12.2.2006, 19:04 Найти цитируемый пост)
Нуу умных вариантов много... Могу навскидку подкинуть самый глупый и простой - писать в базу по два наименования для каждого пола и вести дополнительное поле, в котором будет соответствующий этому написанию пол...

Мне надо чтоб выбрал ты пол - сразу поле национальность стало женског или мужского пола... Ети национальности идут из справочника т.е. существует таблица в которой есть поля nationmen и nationwomen и из которых берутся национальности... Если бы я не использовал DBGrid, а допустим типа DBEdit - ов накидал DBLoockUpComboBox - ов все было бы проще, я бы просто скрывал не нужный мне LoockUp и в принципе все, но надо вот именно так... smile

Это сообщение отредактировал(а) McDevil - 12.2.2006, 21:20


--------------------
 мы знаем столько, сколько можем, а можем столько, сколь хотим... 

Тестируем программу: SPL-программа аналогов функций  
PM MAIL WWW ICQ   Вверх
Foley
Дата 12.2.2006, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фсемба Яцца
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 31.1.2006
Где: Россия, Арх.обл

Репутация: нет
Всего: 7



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


PM MAIL ICQ   Вверх
sexton
Дата 13.2.2006, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sexton=Пономарь (eng)
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 5.5.2004
Где: Ульяновск

Репутация: нет
Всего: 9



Цитата(McDevil @ 12.2.2006, 21:16 Найти цитируемый пост)
. Если бы я не использовал DBGrid, а допустим типа DBEdit - ов накидал DBLoockUpComboBox

Создаем в справочнике национальностей подобную структуру:

ID Пол Национальность
1 м русский
2 м нерусский
3 ж русская
4 ж нерусская

После чего фильтруем этот справочник по введенному значению пола...
PM MAIL WWW ICQ   Вверх
McDevil
Дата 14.2.2006, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.12.2005
Где: Казахстан, Павлод ар

Репутация: нет
Всего: 3



Да нет проще можно...


--------------------
 мы знаем столько, сколько можем, а можем столько, сколь хотим... 

Тестируем программу: SPL-программа аналогов функций  
PM MAIL WWW ICQ   Вверх
sexton
Дата 14.2.2006, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sexton=Пономарь (eng)
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 5.5.2004
Где: Ульяновск

Репутация: нет
Всего: 9



Цитата(McDevil @ 14.2.2006, 09:23 Найти цитируемый пост)
Да нет проще можно...

Не спорю. Например хранить для каждой записи национальности два написания - в женском и мужском роде.

Типа:
ID Национальность(м) Национальность(ж)


PM MAIL WWW ICQ   Вверх
McDevil
Дата 14.2.2006, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.12.2005
Где: Казахстан, Павлод ар

Репутация: нет
Всего: 3



Цитата(Foley @ 12.2.2006, 23:53 Найти цитируемый пост)
а тебе надо чтоб в гриде выбрал пол, а грид скрыл ненужную национальность?
тогда попробуй на таймер накидать процедурку...
чтоб поле становилось невидимым если неудовлетворяет значению...
если честно не догоняю что ты хочешь...

Причем тут таймер... Может что-то не догоняю...
Добавлено @ 11:37
Цитата(sexton @ 14.2.2006, 11:25 Найти цитируемый пост)
Не спорю. Например хранить для каждой записи национальности два написания - в женском и мужском роде.

Типа:
ID Национальность(м) Национальность(ж)

А можно как нибудь присвоить ячейке грида DBLoockUpComboBox...
Не, не затупил не обращай внимания...
Блин как-то это просто все делалось...

Это сообщение отредактировал(а) McDevil - 14.2.2006, 11:39


--------------------
 мы знаем столько, сколько можем, а можем столько, сколь хотим... 

Тестируем программу: SPL-программа аналогов функций  
PM MAIL WWW ICQ   Вверх
SergeBS
Дата 14.2.2006, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

Репутация: 11
Всего: 22



McDevil
LookupField, CalculatedField - 2 разумных варианта. Хинт: лукап не обязательно 1 поле smile
PM MAIL   Вверх
StayAtHome
Дата 14.2.2006, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Домосед
**


Профиль
Группа: Участник
Сообщений: 456
Регистрация: 26.1.2004
Где: Украина

Репутация: нет
Всего: 16



Может это имелось ввиду?
DRKB:
Нередко в колонке DBGrid нужно вывести не реальное значение, хранящееся в поле соответствующей таблицы, а другие данные, соответствующие имеющимся (например, символьную строку вместо ее числового кода). В этом случае также используется метод TextOut свойства Canvas компонента TDBGrid:

Соответствующий код для Delphi имеет вид:
Код
procedure TForm1.DBGridDrawColumnCell(Sender: TObject; const Rect: TRect; 
DataCol: Integer; Column: TColumn;  State: TGridDrawState); 
begin 
  if Column.FieldName = 'VenueNo' then 
    with DBGrid1.Canvas do 
    begin 
      Brush.Color := clWhite; 
      FillRect(Rect); 
      if Table.FieldByName('VanueNo').Value = 1 then 
      begin 
        Font.Color := clRed; 
        TextOut(Rect.Right - 2 - DBGrid1.Canvas.TextWidth('our vanue'), 
        Rect.Top + 2, 'our vanue'); 
      end 
      else 
        TextOut(Rect.Right - 2 - DBGrid1.Canvas.TextWidth('other vanue'), 
        Rect.Top + 2, 'other vanue'); 
    end; 
end; 

PM MAIL WWW ICQ YIM   Вверх
DDX
Дата 14.2.2006, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 127
Регистрация: 31.1.2005
Где: Москва

Репутация: 5
Всего: 5



блин, Sexton высказал самый нормальный вариант:
хранишь поля :
ид, название национальности, пол
1,русский,м
2, русская, ж

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

Цитата

А можно как нибудь присвоить ячейке грида DBLoockUpComboBox...

EhLib тебе в руки


Это сообщение отредактировал(а) DDX - 14.2.2006, 17:18
--------------------
Учиться, учитьcя и ещё раз учиться  
PM MAIL WWW   Вверх
McDevil
Дата 14.2.2006, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.12.2005
Где: Казахстан, Павлод ар

Репутация: нет
Всего: 3



Спасибо конечно всем, но все, что вы говорите у меня впринципе уже реализованно...
Просто получается я нормально объяснить не могу...
Попытка number три:
- у меня есть таблица-справочник под названием SprNation с полями kodNat, nationMen, nationWomen...
- на имаге видно, что в Grid'e присутствует два поля с одинаковым названием "Национальность", в которых соответственно варианты написания национальности для женского и мужитского пола. Поля - эти лукаповские и из списка - соответственно...
ЗАДАЧА: чтобы при выборе пола оставалось корректное(нужное по логике) поле "национальность", для выбранного значения в поле "пол", и при этом выбранные ранее поля "пол" и "национальность" для других сотрудников не изменялись... т.е. что не было такого типа выбираешь пол мужской и все поля "национальность" для записей женского рода также становились мужского пола...
Заранее спасибо, тем кого я еще не вывел из себя окончательно и тем кто нашел в себе силы ответить... smile


--------------------
 мы знаем столько, сколько можем, а можем столько, сколь хотим... 

Тестируем программу: SPL-программа аналогов функций  
PM MAIL WWW ICQ   Вверх
Foley
Дата 15.2.2006, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фсемба Яцца
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 31.1.2006
Где: Россия, Арх.обл

Репутация: нет
Всего: 7



Все понятно... занчит как я и говорил... что б вгриде отображалось одно поле
Цитата(Foley @ 12.2.2006, 23:53 Найти цитируемый пост)
чтоб поле становилось невидимым если неудовлетворяет значению...
, и другие записи не менялись...
В ГРИДЕ не пробовал делать Columns и потом присваивать Visible True и False... хотя с трудом представляю себе код...
хотя есть компонента ГРИДА с ROW и COL:
вот процедурка(в смысле код):

unit VUBComps;

interface

uses

SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, Grids, DBGrids, DB, Menus;

type

TDBGridVUB = class(TDBGrid)
private
{ Private declarations }
protected
{ Protected declarations }
public
property Canvas;
function CellRect(ACol, ARow: Longint): TRect;
property Col;
property Row;

procedure Register;

implementation

procedure Register;
begin

RegisterComponents('VUBudget', [TDBGridVUB]);
end;

function TDBGridVUB.CellRect(ACol, ARow: Longint): TRect;
begin

Result := inherited CellRect(ACol, ARow);
end;

end.

может придумаешь что с этим можно сделать...
Добавлено @ 00:16
ты там еще говорил про добавление LookupComboBox в грид...
не знаю как это но просто ComboBox можно вставить так:
1. Дважды щелкнуть на DBGrid
2. Добавить колонку
3. Указать поле которое будет показываться (свойство FieldName)
4. Заполнить список (свойство PickList)
PM MAIL ICQ   Вверх
McDevil
Дата 15.2.2006, 01:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.12.2005
Где: Казахстан, Павлод ар

Репутация: нет
Всего: 3



Foley, спасибо, но не то...


--------------------
 мы знаем столько, сколько можем, а можем столько, сколь хотим... 

Тестируем программу: SPL-программа аналогов функций  
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0889 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.