Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 02:11 25.05.24 
Компютри и Интернет
   >> ASP
*Кратък преглед

Тема .net DataGrid Problem  
Автор Borg (Нерегистриран)
Публикувано21.05.03 10:53



Имам следният проблем:
в един datagrid трябва да сложа инфо от 2 таблици, логически свързани (едно поле от първата таблица е определящо за инфото от втората). В ASP го правя с 2 Recordset-a, като изпълнявам куери на SQL Server-a и така ми се решава проблема (щото сам си пиша таблицата). Обаче в .нет не иска и не иска - просто не знам как да задам селектите за втората таблица. Ще се радвам на сякакви предложения за решение на проблема (явно за мен е голям проблем). Не искам да ползвам 2 грида, щото тогава инфото няма да е адекватно (също и view е нежелателно да се пише)

"За да чуеш, трябва да мълчиш !" (Оджиън)


Тема Re: .net DataGrid Problemнови [re: Borg]  
Авторpsy (Нерегистриран)
Публикувано22.05.03 17:12



edna ideq
pravish edin dataset object
kato v samia dataset sazdavash tablicite s relaciite(tova stava v .net)
posle s edno query inner join selectvash info ot dvete tablici



Тема Огледайнови [re: Borg]  
Автор jamie (Bad to the bone)
Публикувано22.05.03 17:16



ДейтаСет-а.
Има MERGE метод - много удобен.
1. Вкарваш първите данните в първата таблица в ДейтаСет-а.
2. Вадиш си от неговите колони данните които ти трябват, зареждаш ги в стринга за 2-рия СКУЕЛ СЕЛЕКТ и вадиш вторите данни в друга таблица на същия ДейтаСет (може и в друг ДейтаСет).
3. MERGE двата и ги показваш в Грид-а.

Изобщо разглеждай ДейтаСет като база данни, не като таблица.

UB40 !



Тема Re: Огледайнови [re: jamie]  
Автор Borg (Нерегистриран)
Публикувано26.05.03 12:46



Мерси.
разглеждам аз, разглеждам, ама никъде не намерих как да извадя стойността от определена клетка от таблица в дейтасет-а. Как става това? като взимам dataset.tables["mytable"].Columns["column"].ToString() и ми връща името на колоната ...

"За да чуеш, трябва да мълчиш !" (Оджиън)


Тема Почти....нови [re: Borg]  
Автор jamie (Bad to the bone)
Публикувано27.05.03 00:52



dataset.tables["mytable"].Rows

Между другото, не го дописвам за да не те объркам :-))) Не съм в работата си сега, нямам МСДН и карам малко наизуст.
Но това трябва да търсиш.

UB40 !

Редактирано от jamie на 27.05.03 00:55.



Тема стана ...нови [re: jamie]  
Автор Borg (Нерегистриран)
Публикувано29.05.03 17:40



... много 10х. :)) направих си го с вирт. таблица и нов дейтасет, после мърдж и стана перфектно :)
обаче сега дойде последният проблем: как да задам на определена колона от грида да вземе values от дейтасет-а т.е. една колона от грида да се пълни от една колона от дейтасета. Не намерих пропърти, което да го указва, а в designView не ми се показват промените направени с код.

Надявам се не съм много нахален с въпросите си

"За да чуеш, трябва да мълчиш !" (Оджиън)


Тема Етап 2нови [re: Borg]  
Автор jamie (Bad to the bone)
Публикувано30.05.03 00:28



Имаме си подготвен Дейтасет.
Имаме си грид НА КОЙТО ПРОПЪТИТО "АУТОФИЛЛ" или нещо от сорта да е ЗАБРАНЕНО !!!!
После използваме метода КЛЕАР на грида.
И добавяме колоните - толкова колкото са ни колоните в Дейтасет таблицата от която ще пълним. За удобство имаш и няколко вида колони за ГРИД компонента :-))) БАУНД колоните са тези които директно отговарят на колоните в Дейтасета - ако няма да обработваш данните при извеждането. Иначе обърни внимание и на ТЕМПЛЕЙТ колоните.
След като добавиш всички колони, с посочено за всяка колона (когато създаваш обекта БАУНД КОЛУМН) име на колоната от таблицата в Дейтасета, просто свързваш ГРИД и ДЕЙТАСЕТ (мисля че беше ГРИД.СОРС=ДЕЙТАСЕТ("ТАБЛИЦА")) , а после изпълняваш ГРИД.БИНД().
Това е всичко.
Пример:
"СЕЛЕКТ А, Б, В ФРОМ АААА" - с това си напълнил дейтасета ДСЕТ("ПРОБА"). Грида ти е ГРД.

Дим обжКол ас БоундКолумн

ГРД.Колумнс.Клеар()

обжКол=ню БоундКолумн()
тук зареждаш "екстрите", като не забравиш да укажеш че например тази колона е "свързана" с полето "А" от дейтасета.
ГРД.Колумнс.Адд(обжКол)
обжКол=Нотинг

Това се повтаря и за "Б", и за "С" колоните от Дейтасета. После:
ГРД.Сорс=ДСЕТ("ПРОБА")
ГРД.Бинд()


ПП: Естествено може да се опиташ и директно (но по-неуправляемо):
Имаме си подготвен Дейтасет.
Имаме си грид НА КОЙТО ПРОПЪТИТО "АУТОФИЛЛ" или нещо от сорта да е РАЗРЕШЕНО !!!!

ГРД.Сорс=ДСЕТ("ПРОБА")
ГРД.Бинд()
Както забелязваш - не пипаме колоните в ГРД една по една. Има си плюсове, има си и недостатъци.

ППП: При МЕРГЕ (Мърдж) - ако по някаква причина Мърджа не се изпълни, гледай да не се окаже че едната таблица (или дейтасет) има някоя от колоните , несъвпадаща по тип със съответната колона от другата таблица(дейтасет). За пример - може СЕЛЕКТ 0 АС А ФРОМ ААА да е интижър, а СЕЛЕКТ А ФРОМ БББ (където А в таблица БББ е от тип смолинт). Тогава може дори да не получиш явна грешка - просто МЪРДЖ-а няма да сработи. Решението е в привеждане на "0" например към типа на "А" - в самия СКУЕЛ стейтмънт. По принцип много внимавай да съответстват типовете по колони.

ПППП: В Грид-а има още една благинка. Към всяка колонка може да се добавят и един или повече контроли. И после да се вадят от определен ред (РОУ) на грида - било по .Контролс(индекс), било с .Файнд метод - направо по име (много по-удачен)

UB40 !

Редактирано от jamie на 30.05.03 00:34.



Тема Re: Етап 2нови [re: jamie]  
Автор Borg (Нерегистриран)
Публикувано30.05.03 17:35



Получи се много добре. Много съм ти благодарен Jamie. наистина голяма помощ ми оказа, а покрай този проблем се появиха и доста интересни и нови за мен неща :))) Още веднъж 10х по много :)

"За да чуеш, трябва да мълчиш !" (Оджиън)



*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.