我创建了一个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的标题与查询相同!!
我怎样才能改变它们并显示我的名字?
答案 0 :(得分:0)
指定gridview的标题文本。转到GridView-->Columns-->Add the column
的属性,并将DataBound
设置为数据库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";
}
}
}
答案 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