Рейтинг:
7
Deekshaa Singh Chauhan
Это идеальный ответ,этот запуск успешно
private void DisplayData()
{
DataTable dt = new DataTable();
{
dataGridView1.DataSource = null;
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
con.Open();
SqlCommand cmd = new SqlCommand("select id,p.c_name c_name,p.adrs as adrs,p.c_phone as c_phone,p.state_id as state_id,p.GST as GST,t.State as State,p.pan_no as pan_no,p.srvctax as srvctax,p.wbsit as wbsit,p.email as email,p.adsnldtl as adsnldtl,p.logo as logo from cmpny_dtl p join State t on t.State_ID = p.state_id ", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
con.Close();
dataGridView1.ColumnCount = 14;
dataGridView1.Columns[0].HeaderText = "ID";
dataGridView1.Columns[0].DataPropertyName = "id";
dataGridView1.Columns[0].Visible = false;
dataGridView1.Columns[1].HeaderText = "Name";
dataGridView1.Columns[1].DataPropertyName = "c_name";
dataGridView1.Columns[2].HeaderText = "adrs";
dataGridView1.Columns[2].DataPropertyName = "adrs";
dataGridView1.Columns[3].HeaderText = "state_id";
dataGridView1.Columns[3].DataPropertyName = "state_id";
dataGridView1.Columns[3].Visible = false;
dataGridView1.Columns[4].HeaderText = "GST";
dataGridView1.Columns[4].DataPropertyName = "GST";
//dataGridView1.Columns[4].Visible = false;
dataGridView1.Columns[5].HeaderText = "State";
dataGridView1.Columns[5].DataPropertyName = "State";
dataGridView1.Columns[6].HeaderText = "srvctax";
dataGridView1.Columns[6].DataPropertyName = "srvctax";
dataGridView1.Columns[7].HeaderText = "c_phone";
dataGridView1.Columns[7].DataPropertyName = "c_phone";
dataGridView1.Columns[8].HeaderText = "tin_no";
dataGridView1.Columns[8].DataPropertyName = "tin_no";
dataGridView1.Columns[8].Visible = false;
dataGridView1.Columns[9].HeaderText = "pan_no";
dataGridView1.Columns[9].DataPropertyName = "pan_no";
dataGridView1.Columns[9].Visible = false;
dataGridView1.Columns[10].HeaderText = "wbsit";
dataGridView1.Columns[10].DataPropertyName = "wbsit";
dataGridView1.Columns[10].Visible = false;
dataGridView1.Columns[11].HeaderText = "email";
dataGridView1.Columns[11].DataPropertyName = "email";
dataGridView1.Columns[11].Visible = false;
dataGridView1.Columns[12].HeaderText = "adsnldtl";
dataGridView1.Columns[12].DataPropertyName = "adsnldtl";
dataGridView1.Columns[12].Visible = false;
dataGridView1.Columns[13].HeaderText = "logo";
dataGridView1.Columns[13].DataPropertyName = "logo";
dataGridView1.Columns[13].Visible = false;
dataGridView1.DataSource = dt;
}
}
private void dataGridView1_CellClick(object sender,ataGridViewCellEventArgs e)
{
if (dataGridView1.CurrentRow.Index != -1)
{
//id = Convert.ToInt32(dataGridView1.CurrentRow.Cells[0].Value.ToString());
CmpnyName_txt.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
Adrs_txt.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();
CmpnyPhone_txt.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString();
STATE_comboBox.SelectedValue = dataGridView1.CurrentRow.Cells[5].Value.ToString();
GST_textBox.Text = dataGridView1.CurrentRow.Cells[6].Value.ToString();
Email_txt.Text = dataGridView1.CurrentRow.Cells[11].Value.ToString();
Webst_txt.Text = dataGridView1.CurrentRow.Cells[10].Value.ToString();
Pan_txt.Text = dataGridView1.CurrentRow.Cells[8].Value.ToString();
Tin_txt.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString();
SrvcTaxNo_txt.Text = dataGridView1.CurrentRow.Cells[9].Value.ToString();
AdsnlDtl_txt.Text = dataGridView1.CurrentRow.Cells[12].Value.ToString();
////AdsnlDtl_txt.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();
if (dataGridView1.CurrentRow.Cells[13].Value != DBNull.Value)
{
byte[] img = (byte[])dataGridView1.CurrentRow.Cells[13].Value;
MemoryStream ms = new MemoryStream(img);
pictureBox1.Image = Image.FromStream(ms);
Browes_btn.Text = "Remove";
}
else
{
pictureBox1.Image = null;
Browes_btn.Text = "Browes";
}
SUBMIT_btn.Text = "UPDATE";
Display_btn.Text = "RESET";
}
}
Рейтинг:
19
RickZeeland
Вы могли бы создать View
на SQL-сервере протестируйте его и используйте в качестве своего DataSource
.
Использование BindingSource
рекомендуется, см. Этот пример: Практическое руководство.Свойство DataSource (Системы.Окна.Формы)[^]
Кроме того, может возникнуть проблема с вашим join
, взгляните здесь на пример соединения:
SQL-соединения[^]
Я думаю, что соединение должно быть таким:
from cmpny_dtl join State s on s.State = cmpny_dtl.State
Deekshaa Singh Chauhan
это не очень полезно
RickZeeland
Да, это так, но вы должны проявить некоторое усилие !
Вы пытались создать представление и сначала протестировали его ?
Deekshaa Singh Chauhan
я хочу сохранить state_id, но показать имя состояния
RickZeeland
Чтобы сделать вещи более ясными, возможно, было бы неплохо использовать SQL Server Management Studio, щелкнуть правой кнопкой мыши на ваших таблицах и выбрать пункт "Создать сценарий". Добавьте сгенерированные скрипты к вашему вопросу, наведя на него курсор мыши и выбрав пункт "улучшить вопрос".
Deekshaa Singh Chauhan
этот код работал БТ показывают только 1 строку, а то что выдает ошибку в столбце ID grideview данных
DataTable dt = новый DataTable();
{
SqlConnection con = новый SqlConnection(strcon);
dataGridView1. DataSource = null;
dataGridView1. SelectionMode = DataGridViewSelectionMode.FullRowSelect;
против.Открыть();
Команда sqlcommand cmd и = новая команда sqlcommand("выберите ID,cmpny_dtl.c_name как c_name,cmpny_dtl.АДР в АДР,cmpny_dtl.НДС как НДС,Т.Государство как государство,cmpny_dtl.srvctax как srvctax,cmpny_dtl.adsnldtl как adsnldtl,cmpny_dtl.логотип как логотип" + " от cmpny_dtl состояние присоединения т о т.State_ID = cmpny_dtl.state_id ", кон);
SqlDataAdapter da = новый SqlDataAdapter(cmd);
да.Заполнить(ДТ);
против.Закрывать();
//dataGridView1. ColumnCount = 7;
//dataGridView1.Колонки[0].HeaderText = " id";
//dataGridView1. Columns[0]. DataPropertyName = " id";
//dataGridView1.Колонки[0].Видна = ложь;
//dataGridView1.Столбцы[1].HeaderText = " c_name";
//dataGridView1. Columns[1]. DataPropertyName = " c_name";
//dataGridView1.Столбцы[2].HeaderText = " adrs";
//dataGridView1.Столбцы[2].DataPropertyName = "АДР";
//dataGridView1.Колонны[3].HeaderText = " GST";
//dataGridView1. Columns[3]. DataPropertyName = " GST";
////dataGridView1.Колонны[3].Видна = ложь;
//dataGridView1.Столбцов[4].HeaderText = " состояние";
//dataGridView1. Columns[4]. DataPropertyName = " state_id";
//dataGridView1.Столбцов[4].Видна = ложь;
//dataGridView1.Колонки[5].HeaderText = " srvctax";
//dataGridView1. Columns[5]. DataPropertyName = " srvctax";
//dataGridView1.Колонн[6].HeaderText = " adsnldtl";
//dataGridView1. Columns[6]. DataPropertyName = " adsnldtl";
dataGridView1.Источник данных = ДТ;
}
частная dataGridView1_CellClick недействительным(объект отправителя, DataGridViewCellEventArgs е)
{
если (dataGridView1.CurrentRow.Индекс != -1)
{
//если (dataGridView1.CurrentRow.Ячейки[10]. Значение != DBNull.Ценность)
//{
// байт[] ИМГ = (байт[])dataGridView1.CurrentRow.Ячейки[10]. Значение;
// MemoryStream ms = новый MemoryStream(img);
// имя picturebox1.Образ = Образ.FromStream(МС);
//}
//еще
//{
// имя picturebox1.Изображение = нуль;
//}
//id = конвертировать.ToInt32(dataGridView1.CurrentRow.Ячейки[0].Значение.Метод toString());
CmpnyName_txt.Текст = dataGridView1.CurrentRow.Клеток[2].Значение.Метод toString();
Adrs_txt.Текст = dataGridView1.CurrentRow.Клеток[3].Значение.Метод toString();
CmpnyPhone_txt.Текст = dataGridView1.CurrentRow.Клеток[8].Значение.Метод toString();
//Email_txt.Текст = dataGridView1.CurrentRow.Клеток[4].Значение.Метод toString();
//Webst_txt.Текст = dataGridView1.CurrentRow.Клеток[5].Значение.Метод toString();
//Pan_txt.Текст = dataGridView1.CurrentRow.Клеток[6].Значение.Метод toString();
//Tin_txt.Текст = dataGridView1.CurrentRow.Клеток[7].Значение.Метод toString();
SrvcTaxNo_txt.Текст = dataGridView1.CurrentRow.Клеток[6].Значение.Метод toString();
AdsnlDtl_txt.Текст = dataGridView1.CurrentRow.Клеток[7].Значение.Метод toString();
STATE_comboBox.Текст = dataGridView1.CurrentRow.Клеток[5].Значение.Метод toString();
GST_textBox.Текст = dataGridView1.CurrentRow.Клеток[4].Значение.Метод toString();
//id_txt.Текст = dataGridView1.CurrentRow.Ячейки[0].Значение.Метод toString();
SUBMIT_btn.Text = " обновить";
RickZeeland
Я бы рекомендовал сначала протестировать ваш запрос в среде SQL Server Management Studio и посмотреть, возвращает ли он больше строк.
Deekshaa Singh Chauhan
Я проверил, что это показывает только одну строку, но почему? где проблема
RickZeeland
Поскольку у меня нет доступа к вашей базе данных и нет никакой информации о ней, я не могу помочь вам дальше. Вы можете попробовать изменить свой запрос в SQL Server Management Studio и посмотреть, что произойдет, удачи !