powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Dve tablici v odnom datagride
5 сообщений из 5, страница 1 из 1
Dve tablici v odnom datagride
    #32694613
avv72
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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();
}
}
...
Рейтинг: 0 / 0
Dve tablici v odnom datagride
    #32694647
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а в чём трудность???
в датанриде должны отображаться значения из двух связанных таблиц?? Ну, так и создаём датаадаптер, который извлекает записи из двух таблиц, а на его основе генерим датасет, который послужит основой для грида...
Или я не понял проблему???
...
Рейтинг: 0 / 0
Dve tablici v odnom datagride
    #32694677
avv72
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
...
Рейтинг: 0 / 0
Dve tablici v odnom datagride
    #32694902
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Мне кажется, я понял проблем, нужно что бы эти две таблы были в одном гриде, и по выбору, можно было переключаться между ними???
тогда основой для грида должна быть связь (relation), а не датасет...
будет красивый грид с возможностью переключаться между одной и другой таблами... (обсуждалось на форуме)
2. Комбо, отражающее значение не ID:
обсуждалось на форуме
...
Рейтинг: 0 / 0
Dve tablici v odnom datagride
    #32696440
avv72
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladgrid , ogromnoe spasibo! U menya vse poluchilos.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Dve tablici v odnom datagride
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]