|
Тема |
Етап 2 [re: Borg] |
|
Автор |
jamie (Bad to the bone) |
|
Публикувано | 30.05.03 00:28 |
|
|
Имаме си подготвен Дейтасет.
Имаме си грид НА КОЙТО ПРОПЪТИТО "АУТОФИЛЛ" или нещо от сорта да е ЗАБРАНЕНО !!!!
После използваме метода КЛЕАР на грида.
И добавяме колоните - толкова колкото са ни колоните в Дейтасет таблицата от която ще пълним. За удобство имаш и няколко вида колони за ГРИД компонента :-))) БАУНД колоните са тези които директно отговарят на колоните в Дейтасета - ако няма да обработваш данните при извеждането. Иначе обърни внимание и на ТЕМПЛЕЙТ колоните.
След като добавиш всички колони, с посочено за всяка колона (когато създаваш обекта БАУНД КОЛУМН) име на колоната от таблицата в Дейтасета, просто свързваш ГРИД и ДЕЙТАСЕТ (мисля че беше ГРИД.СОРС=ДЕЙТАСЕТ("ТАБЛИЦА")) , а после изпълняваш ГРИД.БИНД().
Това е всичко.
Пример:
"СЕЛЕКТ А, Б, В ФРОМ АААА" - с това си напълнил дейтасета ДСЕТ("ПРОБА"). Грида ти е ГРД.
Дим обжКол ас БоундКолумн
ГРД.Колумнс.Клеар()
обжКол=ню БоундКолумн()
тук зареждаш "екстрите", като не забравиш да укажеш че например тази колона е "свързана" с полето "А" от дейтасета.
ГРД.Колумнс.Адд(обжКол)
обжКол=Нотинг
Това се повтаря и за "Б", и за "С" колоните от Дейтасета. После:
ГРД.Сорс=ДСЕТ("ПРОБА")
ГРД.Бинд()
ПП: Естествено може да се опиташ и директно (но по-неуправляемо):
Имаме си подготвен Дейтасет.
Имаме си грид НА КОЙТО ПРОПЪТИТО "АУТОФИЛЛ" или нещо от сорта да е РАЗРЕШЕНО !!!!
ГРД.Сорс=ДСЕТ("ПРОБА")
ГРД.Бинд()
Както забелязваш - не пипаме колоните в ГРД една по една. Има си плюсове, има си и недостатъци.
ППП: При МЕРГЕ (Мърдж) - ако по някаква причина Мърджа не се изпълни, гледай да не се окаже че едната таблица (или дейтасет) има някоя от колоните , несъвпадаща по тип със съответната колона от другата таблица(дейтасет). За пример - може СЕЛЕКТ 0 АС А ФРОМ ААА да е интижър, а СЕЛЕКТ А ФРОМ БББ (където А в таблица БББ е от тип смолинт). Тогава може дори да не получиш явна грешка - просто МЪРДЖ-а няма да сработи. Решението е в привеждане на "0" например към типа на "А" - в самия СКУЕЛ стейтмънт. По принцип много внимавай да съответстват типовете по колони.
ПППП: В Грид-а има още една благинка. Към всяка колонка може да се добавят и един или повече контроли. И после да се вадят от определен ред (РОУ) на грида - било по .Контролс(индекс), било с .Файнд метод - направо по име (много по-удачен)
UB40 !Редактирано от jamie на 30.05.03 00:34.
|
| |
|
|
|