2015-01-01 3 views
0

Я создали DataGridView и заполнить его с данными из базы данных PostgreSQL
DataGridView и базы данных

string connString = "Server=" + HOST + ";Port=" + PORT + "; User Id=" + USER + ";Password=" + PASSWORD + ";Database=" + DATABASE + ""; 
      string query = "SELECT c.id as Numéro,nom_beneficier,date_saisie,cat.designation,cat.taux,montant_brut,montant_rs,net_rs " 
          +"From crs_certificat c,crs_beneficier b,crs_categorie_taux cat " 
          +"WHERE c.id_beneficier=b.id AND c.categorie=cat.id ORDER BY Numéro DESC"; 
      NpgsqlConnection conn = new NpgsqlConnection(connString); 
      NpgsqlCommand cmd = new NpgsqlCommand(query, conn); 
      try 
      { 
       NpgsqlDataAdapter da = new NpgsqlDataAdapter(); 
       da.SelectCommand = cmd; 
       DataTable dt = new DataTable(); 
       da.Fill(dt); 
       listCertificat.DataSource = dt; 

      }catch(Exception ex){ 
       MessageBox.Show(ex.Message); 
      } 

но заголовок столбцов Имен DataGridView такого же, запроса !!
Как я могу изменить их и отобразить мои имена owen?

ответ

0

Вы можете дать свои собственные имена для столбцов в запросе также

см. этот пример

select 1 "My_Column",'a_string_value'::varchar "My_Second_Column" 

вернется

My_Column  My_Second_Column 
Integer  character varying 
------------------------------------- 
     1  a_string_value 

вы можете дать желаемое имя столбца в запросе на выборку, чтобы ваш выбор запрос должен быть таким:

SELECT c.id "Numéro", 
     nom_beneficier "your_column_name" , 
     date_saisie "your_column_name", 
     cat.designation "your_column_name", 
     cat.taux,montant_brut "your_column_name", 
     montant_rs "your_column_name", 
     net_rs "your_column_name" 
From crs_certificat c,crs_beneficier b,crs_categorie_taux cat 
WHERE c.id_beneficier=b.id AND c.categorie=cat.id ORDER BY "Numéro" DESC 
+1

thnx работает :). –

0

присвоение заголовка текста сетки. Перейдите в «Свойства» GridView-->Columns-->Add the column и установите DataBound в DB Column name и Header Text.

Или, если вы хотите установить заголовок программно используйте следующий код: -

GridView_Id.Columns[0].HeaderText = "HeaderName"; 
//This will change the GridView’s first column to “HeaderName 

еще

protected void grdSearchResult_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.Header) 
    { 
     for (int i = 0; i < e.Row.Cells.Count; i++) 
     { 
      e.Row.Cells[i].Text = "your header name"; 
     } 
    } 
} 
+0

Я сделал это, но когда я получаю данные из базы данных текст заголовка получает текст столбцов в запросе. –

+0

в gridview, редактировать столбцы и задавать текст заголовка, что вы хотите отображать для каждого поля, и задавать свойство поля данных по данным (имя столбца таблицы) –

Смежные вопросы