私はdatagridviewの選択された行の特定のセルの値をどのように変更することができるか把握しようとしています。私は値を変更することができますが、強調表示された行ではなく、最初の行のみを変更できます。行の選択は「検索」ボタンのコードで定義されています。最初に探して、DataGridviewで選択した行のセルの値を変更しますか?
例:テキストを入力すると、特定の列の各行を検索し、スクロールして行全体をハイライト/選択します。
次に、ドロップダウンリスト(コンボボックス)に既に存在する列名を選択することで、強調表示された行の特定のセルの値を取得できます。次に、そのセルの値を取得し、そこからnumericUpDownCounter(nudQTY)に存在する値を差し引きます。
これまでのところ、私は列名(cbSupplList)で選択された別のセルに対してこれを行うことができますが、「検索」ボタンコードで定義された強調表示された行ではありません。
次は、これまでの私の試みです:
private void btnFind_Click(object sender, EventArgs e)
{
/* Code to search the alphanumneric Part Number (in Column1 header called "PART NUMBER")
and highlihgt the row*/
foreach (DataGridViewRow row in dataGridView1.Rows)
{
// Removes the row selection
row.Selected = false;
var cellValue = row.Cells["PART NUMBER"].Value;
if (cellValue != null && cellValue.ToString() == tbPartNum.Text.ToUpper())
{
// Scrolls the found row up and highlights the entire row
row.Selected = true;
dataGridView1.FirstDisplayedScrollingRowIndex = row.Index;
}
}
}
private void btnSold_Click(object sender, EventArgs e)
{
int cellVal;
int newCellVal;
cellVal = Convert.ToInt32(dataGridView1.CurrentRow.Cells[cbSuppList.Text.ToString()].Value);
newCellVal = Convert.ToInt32(cellVal - nudQty.Value);
dataGridView1.CurrentRow.Cells[cbSuppList.Text.ToString()].Value = newCellVal;
}
それはコード「販売」の「検索」コードとCURRENT ROWで選択された行で行う必要がありそうです。 SELECTED.ROW = CURRENT.ROWを作成すると、それを解決できます。
ありがとうございました、選択した行= currenCellを作成しようとしていますが、どうすればそれになるでしょうか。 IveはdataGridView1.Currentcell = dataGridView1 [cbSuppList.Text、tbPartNum.Text]を試してみました。これは機能しません。名前(文字列)の代わりに列と行のインデックスが必要です。すみません、私はこれにかなり新しいです... – Rg786
私は私の解決策を編集しました。下の "EDIT"を確認してください - あなたのために働くべきです。 –
完璧です、ありがとうございました.....私は前にこの方法を試していましたが、[0]は含めませんでした。私は常に愚かな間違いから学ぶ。再びあなたに感謝.. – Rg786