Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Dve tablici v odnom datagride
|
|||
|---|---|---|---|
|
#18+
Zdrastvuyte! U menya voznikla problema c otobrajeniem informacii iz dvuh tablic v odnom DataGride. Nashel kod , no tolko dlya C , a mne nujno dlya VB.Net. Mojet kto pomojet. Spasibo vsem Kod: Такой вот способ... В базе данных есть две таблицы Persons и Departmentrs. В Persons содержится ID из табл Departmments. Задача:вытащить Department_Name (d_name) по его ID(d_id) Заливаем датасет из бд и связываем таблицы ключем. SqlDataAdapter da1 = new SqlDataAdapter("Select * from Persons", SqlConn); SqlDataAdapter da2 = new SqlDataAdapter("select * from Departments", SqlConn); ds = new DataSet("myDatSet"); da1.Fill(ds, "Pers"); da2.Fill(ds, "Dept"); ForeignKeyConstraint fk = new ForeignKeyConstraint("Pers_Dept", ds.Tables["Dept"].Columns["d_id"], ds.Tables["Pers"].Columns["d_id"]); //Устанавливаем первичный ключ ds.Tables["Pers"].Constraints.Add(fk); ds.Tables["Dept"].PrimaryKey = new DataColumn[]{ds.Tables["Dept"].Columns["d_Id"]}; dg.DataSource = ds.Tables["Pers"]; dg.DataBind(); Вот теперь нужно изпользовать событие ItemDataBound Interesuet danniy kod: private void dg_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { if(e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item ) { Label d_id = (Label)e.Item.FindControl("d_id"); Label d_name = (Label)e.Item.FindControl("d_name"); DataRow dr = ds.Tables["Dept"].Rows.Find(d_id.Text); d_name.Text = dr["d_name"].ToString(); } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2004, 19:57 |
|
||
|
Dve tablici v odnom datagride
|
|||
|---|---|---|---|
|
#18+
а в чём трудность??? в датанриде должны отображаться значения из двух связанных таблиц?? Ну, так и создаём датаадаптер, который извлекает записи из двух таблиц, а на его основе генерим датасет, который послужит основой для грида... Или я не понял проблему??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2004, 20:26 |
|
||
|
Dve tablici v odnom datagride
|
|||
|---|---|---|---|
|
#18+
I hochu chto-bi u menya nujny dve tablicy v odnom datasete , a ne obedenenniy query. A problema v tom chto kogda ceplyaesh combobox v grid , kak ti eto delal, to esli u menya pole numeric , to v rezultate ya viju ID. A esly pole textovoe , to combobox rabotaet normalno. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2004, 21:15 |
|
||
|
Dve tablici v odnom datagride
|
|||
|---|---|---|---|
|
#18+
1. Мне кажется, я понял проблем, нужно что бы эти две таблы были в одном гриде, и по выбору, можно было переключаться между ними??? тогда основой для грида должна быть связь (relation), а не датасет... будет красивый грид с возможностью переключаться между одной и другой таблами... (обсуждалось на форуме) 2. Комбо, отражающее значение не ID: обсуждалось на форуме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2004, 09:01 |
|
||
|
|

start [/forum/topic.php?fid=20&msg=32694613&tid=1438371]: |
0ms |
get settings: |
8ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
68ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 264ms |
| total: | 445ms |

| 0 / 0 |
