数据网格视图和数据库

本文关键字:数据库 视图 网格 数据网 数据 | 更新日期: 2023-09-27 18:35:47

我创建了一个数据网格视图,并用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);
            }

但是列名称 数据网格视图的标题与查询相同!
如何更改它们并显示我的欧文名字?

数据网格视图和数据库

您也可以为查询中的列指定自己的名称

请参阅此示例

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

会回来

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

您可以在 Select Query 中指定所需的列名,以便 Select 查询应如下所示:

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

分配网格视图的标题文本。转到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";
        }
     }
}