我有以下课程:
[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 :(得分: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;
然后得到这样的东西:
按钮列。据我所知,你不能在DataSource中添加一个按钮列,你必须手动添加它。您可以使用CarParts
方法来处理按钮而不是按钮本身并执行:
var buttonCol = new DataGridViewButtonColumn();
buttonCol.Name = "ButtonColumnName";
buttonCol.HeaderText = "Edit";
buttonCol.Text = "Edit";
dataGridView1.Columns.Add(buttonCol);
并浏览按钮,将它们注册到carParts的方法