2009-06-11 13 views
4

DataGridViewにバインドするオブジェクトのリスト(PrintJob)があります。ここでPrintJobオブジェクトのカットダウン版(完全に穴にあなたをしたくない!!)です:DataGridViewへのカスタムオブジェクトによるデータバインディング - 列ヘッダーテキスト

public class PrintJob 
{ 
     private long pagesToPrint; 
     public long PagesToPrint 
     { 
      get { return pagesToPrint; } 
     } 

     private long recipientRef; 
     public long RecipientRef 
     { 
      get { return recipientRef; } 
      set { recipientRef = value; } 
     } 
} 

は、私は、これらのオブジェクトのリストを作成し、そのようなのDataGridViewにバインド:

dataGridView1.DataSource = uiModel.GetPrintJobs(); 

これまでのところすべて良いですか?

すべてが表示されます。カラムヘッダー - オブジェクトのプルペリ名と同じものを表示します。つまり、ヘッダーに「Pages To Print」を表示することが理想的です。テキスト。

列ヘッダーのテキストを少し読みやすく表示するにはどうすればよいですか?プロパティ名に基づいて推測します。

乾杯。 (コードファイルの先頭にusing System.ComponentModel;付き)

+0

(コメントに返信) –

答えて

6
[DisplayName("Pages to print")] 
public long PagesToPrint {...} 

など

+0

ありがとうございました! – Vidar

+0

列幅をあらかじめ属性で設定しておくことはできますか? – Vidar

+1

いいえ、できません。型変換(値のレンダリングと解析に使用される)のようないくつかのことを制御できますが、それはそれです。 –

1

はいあなたがバインドされたデータソースとのデザイナを使用することができます。デザイナの各列の "DataPropertyName"プロパティ値を設定するだけです。

たとえば、 "DataPropertyName"プロパティ値は "PagesToPrint"、 "HeaderText"プロパティは実際のテキスト( "Pages to Print"?)を列ヘッダーとして表示します。

関連する問題