「送信」ボタンを使用して新しい在庫修正を保存する場合、アプローチは次のようになります。
-在庫修正のために製品名と空のセルを使用してデータグリッドビューを作成します
-[送信]ボタンをクリックした後、[修正]列の値を読み取り、値が存在する場合はデータベースを更新します…</ p>
ここでそれを行う方法は次のとおりです。
DesignerでdatagridviewをdgvProductCorrections
作成してから、このdatagridview
dgvProductCorrection_Product
とで2つの列をdesignerで作成しますdgvProductCorrection_Correction
。この(またはあなたの)列名をColumn.Nameプロパティに入れます
次に、プロパティ.Nameが存在するクラスProductがあると仮定します。このプロパティの名前(この例ではName)を列の.DataPropertyに入力する必要があります。
上記はデザイナーまたはコード(コンストラクター)で行うことができます
datagridviewにリスト製品List<Product> lstProducts;
を追加すると、次のようになります。
dgvProductCorrections.DataSource = lstProducts; //(this may be in Form_Load)
リストを追加する前に、datagridviewプロパティAutoGenerateColumns
をに設定することを忘れないでくださいFalse
dgvProductCorrections.AutoGenerateColumns = false;
[送信]ボタンのButton_Click
イベントハンドラーに、すべての行をループインして修正値を読み取るコードを配置します。これらの値でデータベースを更新できるようになったら
//Code in Button_Click
{
foreach(DataGridVewRow dgvr in dgvProductCorrections.Rows)
{
Decimal fCorrection;
//Check if value exists and it can be used. Add own other checks
if(dgvr.Cells(this. dgvProductCorrection_Correction.Name).Value != null && Decimal.TryParse(dgvr.Cells(this.dgvProductCorrection_Correction.Name).Value.ToString(), fCorrection) = True)
{
//Here you can put a update code, or save a correction in list and then update all by one update call
}
}
}