Datagridview和数据库

时间:2015-01-01 19:17:22

标签: c# postgresql datagridview

我创建了一个datagridview并用postgresql数据库中的数据填充

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的标题与查询相同!!
我怎样才能改变它们并显示我的名字?

2 个答案:

答案 0 :(得分:0)

指定gridview的标题文本。转到GridView-->Columns-->Add the column的属性,并将DataBound设置为数据库Column nameHeader 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";
        }
     }
}

答案 1 :(得分: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