2013-08-20 32 views
2

我有以下類:映射一個自定義的序列化類TOA數據源

[System.Serializable] 
    public class CarParts 
    { 
     public string PartId { get; set; } 
     public int PartCost { get; set; } 


     public Button Edit{ get; set; } 
    } 

我想這樣做的是:

List<CarParts> parts = new List<CarParts>(); 
(fill parts) 


m_StockParts.Columns.Add()//map column to 'Edit' 
m_StockParts.Columns.Add()//map column to 'PartId' 
m_StockParts.Columns.Add()//map column to 'PartCost' 

我該怎麼辦呢?

回答

0

可以使用DataSource這樣的:

 List<CarParts> parts = new List<CarParts>(); 
    parts.Add(new CarParts(){PartId = "2", PartCost = 233, Edit =new Button(){Text = "btn"}}); 
    InitializeComponent(); 
    dataGridView1.DataSource = parts; 

,然後得到這樣的:

enter image description here

爲按鈕欄。據我所知,你不能在DataSource中添加按鈕列,你必須手動添加它。您可以在CarParts保持以處理按鈕,而不是按鈕本身的方法做:

var buttonCol = new DataGridViewButtonColumn(); 
buttonCol.Name = "ButtonColumnName"; 
buttonCol.HeaderText = "Edit"; 
buttonCol.Text = "Edit"; 

dataGridView1.Columns.Add(buttonCol); 

並辦理按鈕,將它們註冊到carParts

+0

肯定的方法,但在編輯欄爲空白? – tweetypi

+0

@med確實,你想要一個按鈕嗎? –

+0

是 ............................................ .......................... – tweetypi

相關問題