MS Visual Studio と C#.net 4.0 を使用。
それで、重複をチェックする私のプログラムの他の部分を完成させました。それを気に入った上司に見せた後、「重複した値を持つ部品番号を示す datagridview の結果を選択する場合、選択した結果と等しい maindatagridview を強調表示することは可能ですか」と尋ねました。
まず第一に、彼の言いたいことは理解できましたが、これを表現するのはかなり難しく、例を探すのが非常に困難でした。
コードはありませんが、現在持っているコードを表示できます。
私が最初にしたことは、どの行が選択されているかを検出できるデータグリッド上のイベント ハンドラーを特定することでした。「selectionchanged」を使用します。
更新:: わかりましたが、私のコードを再利用することで私が何を意味したかをお見せします。コードは非常に似ていますが、出発点にすぎないことに注意してください。以前の方法を新しい方法に組み込む場合があります。
private void MyErrorGrid_SelectionChanged(object sender, EventArgs e)
{
string getPartSelected;
getPartSelected = MyErrorGrid.CurrentCell.Value.ToString();
foreach (DataGridViewRow row in ParetoGrid.Rows)
{
var cellValue = row.Cells["Keycode"].Value;
if (cellValue != null && cellValue.ToString() == getPartSelected)
{
ParetoGrid.Rows[row.Index].DefaultCellStyle.BackColor = Color.Red;
}
}
}
ご覧のとおり、これは機能しますが、いくつかの問題があります。強調表示しますが、強調表示を解除しないので、以前に選択したものを保存する必要があると思いますか? (これが最善の方法かどうかはわかりません)。
強調表示はユーザーにとって十分ではないため、ナビゲーションを追加する必要もあります。現時点では selected = true が追加されていますが、選択が変更されたときに以前の値を使用する必要があります。