如何在datagridview c#中显示arraylist内容?
这是一个包含受训人员信息的结构如何在datagridview c#中显示arraylist内容?,c#,C#,这是一个包含受训人员信息的结构 public struct Stagaire { public string nom; public string pre_nom; public string date; public string fillier; public int num; } 这个Arraylist是为每一个新的受训者准备的 ArrayList ar = new ArrayList(); 这是将Stagaire添加到Arraylist的代码 private v
public struct Stagaire
{
public string nom;
public string pre_nom;
public string date;
public string fillier;
public int num;
}
这个Arraylist是为每一个新的受训者准备的
ArrayList ar = new ArrayList();
这是将Stagaire添加到Arraylist的代码
private void button1_Click(object sender, EventArgs e)
{
Stagaire stg = new Stagaire();
stg.nom = textBox1.Text;
stg.pre_nom = prenom.Text;
stg.date = date.Text;
stg.fillier = fill.Text;
stg.num = Convert.ToInt32(num.Text);
ar.Add(stg);
}
如何在datagridview中显示任何Stagaire信息?对于datagridview,您必须添加一个新Stagaire并将ar[i]影响到nes Stagaire,然后您必须将新Stagaire的平均信息添加到datagridview
Stagaire sgt = new Stagaire();
for (int i = 0; i < ar.Count; i++)
{
sgt = (Stagaire)ar[i];//ar[i] is an Object so you have to convert it (caste) to the Stagaire type
dataGridView1.Rows.Add(sgt.nom,sgt.pre_nom,sgt.date,sgt.num,sgt.fillier);
}
Stagaire sgt=new Stagaire();
对于(int i=0;i
使用class
而不是struct
使用
属性
而不是字段
使用公认的命名约定
public class Stagaire
{
public string Nom { get; set; }
public string PreNom { get; set; }
public string Date { get; set; }
public string Fillier { get; set; }
public int Num { get; set; }
}
使用强类型集合而不是ArrayList
使用
BindingList
自动跟踪集合中的项目。给它一个合适的名字
BindingList<Stagaire> stagaires = new BindingList<Stagaire>();
由于数据绑定,DataGridView将自动更新
private void AddButton_Click(object sender, EventArgs e)
{
var stagaire = new Stagaire();
// Here the code of filling properties
stagaires.Add(stagaire);
}
此外,我还将Date
属性类型更改为DateTime
public DateTime Date { get; set; }
并且将使用日期时间选择器
进行日期输入
stagaire.Date = dateTimePicker.Value;
使用属性而不是字段。只需将
{get;set;}
添加到所有。然后使用数据绑定:dataGridView.DataSource=ar代码>使用ArrayList vs List是否有特殊原因?
stagaire.Date = dateTimePicker.Value;