SahuA Ответов: 0

Как связать datagridviewcomboboxcolumn с двумя таблицами, одна с основными данными, а другая с выбранной индексной таблицей


Вот у меня привязка ItemCombo с таблицей пункта и UnitCombo с блоком столом с членом отображение как имя и UnitName и члена значение как Itemid и идентификатор прибора.
Кроме того, я хочу, чтобы при привязке моего datagridview комбинация элементов и единиц измерения отображала имя вместо идентификатора.

Что я уже пробовал:

общественного недействительными GridBind()
{
пробовать
{
Команда SqlCommand;
Sqldataadapter adapter = новый SqlDataAdapter();
DataSet ds = новый набор данных();
dlprobj.getcon();
command = new SqlCommand ("SELECT ID, Invoiceno, ItemId, UOI from PurchaseDetail where IsCancel= 'false' and invoiceno='" + cbPRNo.SelectedValue + "'", dlprobj. con);
адаптер.SelectCommand = команда;
адаптер.Fill(ds, " PurchaseDetail");
адаптер.Располагать();
команда.Располагать();
dlprobj.кон.Рядом();
dataGridView1. AutoGenerateColumns = false;
dataGridView1.Источник данных = ДС;
dataGridView1. DataMember = " PurchaseDetail";

dataGridView1.RowsDefaultCellStyle.BackColor = Цвет.Белый;
dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Цвет.Светло-серый;
//dataGridView1.Колонки["Имя"].AutoSizeMode = DataGridViewAutoSizeColumnMode. None;
//dataGridView1.Колонки["Подразделение"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Нет;

}
поймать (исключение бывший)
{
}


}


общественного недействительными ItemBindGridCombo()
{
пробовать
{
Команда SqlCommand;
Sqldataadapter adapter = новый SqlDataAdapter();
DataSet ds = новый набор данных();
dlprobj.getcon();
command = new SqlCommand ("Select Id, ItemName from ItemMaster", dlprobj. con);
адаптер.SelectCommand = команда;
адаптер.Заполнить(ДС);
адаптер.Располагать();
команда.Располагать();
dlprobj.кон.Рядом();
DataGridViewComboBoxColumn cmbitem = новый DataGridViewComboBoxColumn();
cmbitem.DataPropertyName = " ItemId";
cmbitem.HeaderText = " ItemName";
cmbitem.Ширина = 300;

cmbitem.Источник данных = ДС.Таблицы[0];
dataGridView1.Столбцы.Добавить (cmbitem);
cmbitem.DisplayMember = " ItemName";
cmbitem.ValueMember = "Идентификатор";

}
поймать (исключение бывший)
{
}
}

общественного недействительными UnitBindGridCombo()
{
пробовать
{
Команда SqlCommand;
Sqldataadapter adapter = новый SqlDataAdapter();
DataSet ds = новый набор данных();
dlprobj.getcon();
command = new SqlCommand ("Select Id,unitname from UnitMaster", dlprobj. con);
адаптер.SelectCommand = команда;
адаптер.Заполнить(ДС);
адаптер.Располагать();
команда.Располагать();
dlprobj.кон.Рядом();
DataGridViewComboBoxColumn cmbUnit = новый DataGridViewComboBoxColumn();
cmbUnit.DataPropertyName = "Сио";
cmbUnit.Ширина = 80;
cmbUnit.HeaderText = " Единица Измерения";

cmbUnit.Источник данных = ДС.Таблицы[0];
dataGridView1.Столбцы.Добавить (cmbUnit);
cmbUnit. DisplayMember = " unitname";
cmbUnit.ValueMember = "Идентификатор";


}
поймать (исключение бывший)
{
}

}

общественного недействительными Id_InvBindGridText()
{
пробовать
{
DataGridViewTextBoxColumn ColumnId = новый столбец DataGridViewTextBoxColumn();
Columnid после.HeaderText = " Id";
Columnid после.Ширина = 120;
Columnid после.DataPropertyName = " ID";
dataGridView1.Столбцы.Добавить (ColumnId);

DataGridViewTextBoxColumn ColumnInvoice = новый DataGridViewTextBoxColumn();
ColumnInvoice.HeaderText = " Счет-Фактура";
ColumnInvoice.Ширина = 120;
ColumnInvoice.DataPropertyName = " InvoiceNo";
dataGridView1.Столбцы.Добавить (ColumnInvoice);


}
поймать (исключение бывший)
{
}

}

0 Ответов