2017-06-26 20 views
0

リストを使用してdatagridwievに行を追加する手助けが必要です。私はクラスを持っていますリストを使用してDataGridviewに行を追加する方法

public class GridObject 
    { 
     public string Worker 
     { 
      get; 
      set; 
     } 

     [DisplayName("Item name")] 
     public string ItemName 
     { get; set; } 

     public int Price { get; set; } 

     public int Quantity { get; set; } 


    } 

そして、私はdatagridviewにslod項目を表示する必要があるwinフォームアプリケーションを作っています。今では私はそれが動作しますが、私はデータベースにないし、それは一人のユーザー(私の場合は労働者)によって販売されている同じitmesを数え新しい列(数量)を追加したい

private void btnCash_Click(object sender, EventArgs e) 
     { 
      dt = new System.Data.DataTable(); 
      using (SqlConnection con = Helper.ConnectionToDatabase) 
      {     
       SqlDataAdapter da = new SqlDataAdapter(string.Format(Resources.ViewCommand, tbUser.Text, ItemList.SelectedValue), con); 
       da.Fill(dt); 
       //dataDaily.Rows.Clear(); 
       foreach (DataRow item in dt.Rows) 
       { 
        int n = dataDaily.Rows.Add(); 
        dataDaily.Rows[n].Cells[0].Value = item[0].ToString(); 
        dataDaily.Rows[n].Cells[1].Value = item[1].ToString(); 
        dataDaily.Rows[n].Cells[2].Value = item[2].ToString(); 
       } 
      } 
     } 

このように、それはそれを行うました。私はリストの買い方でそれをやっています。リストを埋める方法がわからず、DataGridviewに表示するよりも、

答えて

0

DataGridView.Columns.Addを使用できます。このメソッドはDataGridViewColumnのオブジェクトを受け入れ、グリッドビューに追加します。

public class GridObject 
{ 
    public string Worker { get; set; } 
    public string ItemName { get; set; } 
    public int Price { get; set; } 
    public int Quantity { get; set; } 

    public override string ToString() 
    { 
     return ItemName; 
    } 

} 

とだけバインド:あなたは、あなたが行

0
DataTable table = new DataTable(); 
table.Columns.Add("First Name", typeof(string)); 
table.Columns.Add("Last Name", typeof(string)); 
table.Columns.Add("Age", typeof(int)); 

if (File.Exists("file.txt")) 
{ 
    List<string[]> rows = File.ReadAllLines("file.txt").Select(x => x.Split(';')).ToList(); 
    foreach (var row in rows) 
    { 
     string fName = row[0]; 
     string lName = row[1]; 
     int age = -1; 
     int.TryParse(row[2], out age); 

     table.Rows.Add(fName,lName,age); 
    } 
} 
dataGridView1.DataSource = table; 
0

でやっていることをあなたはこのようにそれを行うことに似てやりたいと、この新しい列の値を埋めるためにループを使用することができますそれは他の人のように言った。

詳細については、お読みくださいthis

関連する問題