2017-02-27 13 views
-2

私の問題はグリッド表示で削除ボタンがあることです。削除ボタンをクリックするとその特定の行を削除する必要があり、その行のいくつかの列は同じボタンをクリックすると更新する必要があります。グリッドビューシングルクリックで更新を削除

例行を削除する必要がある行を削除する必要があります。その行には削除前にアクティブなステータス列があり、削除をクリックするとその列のステータスが削除に変更され、行が削除されます。そのidはnullに変更する必要があります。

+1

まずあなたが行を削除している場合は、なぜ同じ行の列を更新you'veto ???あなたの質問はとても混乱しています。あなたが試したことをお知らせください。 –

+0

あなたは「ソフト削除」のようなものを探していますか?「削除」をクリックすると、行のステータスが「非アクティブ」や行などに更新されます。まだデータベースには存在しますが、グリッドには表示されませんか? – A3006

+0

行の列が非アクティブに変更されます。その行はデータベースとグリッドでも更新されます – Jones

答えて

0

あなたは、更新などの操作のすべてを行う必要があり、シングルクリックで両方の操作を行うにはどのように非常に混乱/データグリッドに割り当てられたデータソースに削除します。あなたの便宜のために

private void PopulateThirdCombo() 
{ 
    try 
    { 
     DataTable dt = new DataTable(); 
     dt.Columns.Add("Product ID"); 
     dt.Columns.Add("Product Name"); 
     dt.Columns.Add("Product Price"); 
     dt.Columns.Add(); 
     dataGridView1.ColumnCount = 3; 
     dataGridView1.Columns[0].Name = "Product ID"; 
     dataGridView1.Columns[1].Name = "Product Name"; 
     dataGridView1.Columns[2].Name = "Product Price"; 
     string[] row = new string[] { "1", "Product 1", "1000" }; 
     dataGridView1.Rows.Add(row); 
     row = new string[] { "2", "Product 2", "2000" }; 
     dataGridView1.Rows.Add(row); 
     row = new string[] { "3", "Product 3", "3000" }; 
     dataGridView1.Rows.Add(row); 
     row = new string[] { "4", "Product 4", "4000" }; 
     dataGridView1.Rows.Add(row); 

     DataGridViewButtonColumn btn = new DataGridViewButtonColumn(); 
     dataGridView1.Columns.Add(btn); 
     btn.HeaderText = "Action"; 
     btn.Text = "Delete"; 
     btn.Name = "btn"; 
     btn.UseColumnTextForButtonValue = true;  
    } 
    catch (Exception) 
    { 

    } 
} 


private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) 
{ 
    try 
    { 
     //this will be index of your delete button 
     if (e.ColumnIndex == 3) 
     { 
      this.dataGridView1.Rows.RemoveAt(e.RowIndex); 
     } 
    } 
    catch (Exception) 
    { 

    } 
} 

注:コールPopulateThirdCombo()

関連する問題