2016-05-13 8 views
1

ボタンをクリックするたびにgridcontrolに新しい行を追加します。私は多くの方法を試みたが成功しなかった。私は自分のコードを送っています。クリックごとに新しい行をgridcontrolに追加するには

private void B_Click(object sender, EventArgs e) 
     { 
    Button bt = (Button)sender; 
     int productId = (int)bt.Tag; 
     AddProductDataContext db = new AddProductDataContext(); 
     decimal Quantity; 
     decimal.TryParse(txtCalculator.Text, out Quantity); 
    var results = from inv in db.Inventories 
              where inv.RecId == productId 
              select new 
              { 
               inventoryName = inv.InventoryName, 
               Quantity, 
               Total = Quantity * inv.InventoryPrice 
              }; 

       DataTable dt = new DataTable(); 
       dt.Columns.Add("inventoryName"); 
       dt.Columns.Add("Quantity"); 
       dt.Columns.Add("Total"); 

       foreach (var x in results) 
       { 
        DataRow newRow = dt.Rows.Add(); 
        newRow.SetField("inventoryName", x.inventoryName); 
        newRow.SetField("Quantity", x.Quantity); 

        newRow.SetField("Total", x.Total); 

       } 

       gridControl1.DataSource = dt; 
       gridView1.AddNewRow(); 
} 
+1

最初に私のコードを最初のqustionで使用しています。http://stackoverflow.com/questions/37187344/how-can-i-add-a-new-row-to-datagrid-at-every-button-click -in-winform –

+0

gridControl1.DataSource = dtの後にgridControl1.DataBind()を追加します。 – Mainak

+0

gridControl1.DataSource = dtを変更する必要があります。 to gridView1.DataSource = dt; agaiを試してください –

答えて

0

は、あなたがデータソースに設定した後

gridView1.DataBind(); 

を呼ぶようになった

+0

DevexpressグリッドはDataBindを許可しないため、実行できません。 –

0

あなたGRIDCONTROLに新しい行を追加するには、以下のコードを使用することができます:

gridView1.AddNewRow(); 

int rowHandle = gridView1.GetRowHandle(gridView1.DataRowCount); 
if (gridView1.IsNewItemRow(rowHandle)) 
{ 
    gridView1.SetRowCellValue(rowHandle, gridView1.Columns["ColumnName1"], val1); 
    gridView1.SetRowCellValue(rowHandle, gridView1.Columns["ColumnName2"], val2); 
    gridView1.SetRowCellValue(rowHandle, gridView1.Columns["ColumnName3"], val3); 
} 

ます列名とval1、val2、val3を値で変更する必要があります。

+0

私はすでに試みましたが、これはdevexpressソリューションです。 –

+0

はい、これはdevexpressですが、DevExpressのGridControlを使用していますか? –

+0

問題のコードにはどのような問題がありますか?あなたはエラーがありますか? –

関連する問題