2012-01-19 60 views
4

更改列標題我有我的項目,該項目從SQL數據庫填入下面的代碼的datagridview:C#中的DataGridView

public cToDoList(string paramUser, DateTime paramDueDate) 
    { 
     string sqlStat = "SELECT * FROM tblDiary " + 
         "WHERE DiaryUserFor = @User " + 
         "AND DiaryDueDate <= @DueDate;"; 
     SqlCommand sqlCom = new SqlCommand(sqlStat); 
     sqlCom.Parameters.Add("@User", SqlDbType.VarChar); 
     sqlCom.Parameters.Add("@DueDate", SqlDbType.Date); 
     sqlCom.Parameters["@User"].Value = paramUser; 
     sqlCom.Parameters["@DueDate"].Value = paramDueDate.Date; 

     cSqlQuery sqlQ = new cSqlQuery(sqlCom, "table"); 
     this.cTable = sqlQ.cQueryResults; 
    } 

上面的代碼工作正常,並填充datagridview的,但是列標題是SQL數據庫中不太友好的字段名稱。

我已經嘗試了幾件事情來嘗試更改默認列名稱,但沒有任何工作。到目前爲止,我已經嘗試過 -

dataToDoList.Columns[0].Name = "TEST1"; 

dataToDoList.Columns["DiaryCompletedDate"].Name = "TEST2"; 

但是沒有做任何事情。

誰能告訴我如何更改datagridview中的列標題名稱嗎?

+0

你怎麼綁定數據? –

回答

2

什麼是你所需要的確切列..?

Replace the SELECT * with

SELECT ColumnName AS 'TEST1', ColumnName2 AS 'TEST2' FROM ...etc 
+0

在事後看來,別名是我的應用程序的最佳解決方案。謝謝。 – PJW

+0

聽起來不錯皮特很高興我們這裏很多人都可以指出你在正確的方向 – MethodMan

2

想要Column.HeaderText而不是Column.Name


另外,使用可視化設計器中設置列屬性,並在窗體構造函數中設置

dataToDoList.AutoGenerateColumns = false; 
+0

Column.HeaderText工作良好謝謝 – PJW

1

一個簡單的方法是在SQL中明確指定所需的列。

IE瀏覽器。更換select *(你可能不應該反正用)與select DiaryCompletedDate [TEST1], OtherColumn [TEST2], ..

1

而數據綁定的網格,你可以改變的HeaderText這樣

this.dataGridView1.Columns["ResourceValue"].HeaderText = Helper.getlocalStringResource("Xinga.LocalStrings.ColumnHeader.ResourceValue");