【解決方法】ClearSelection が DatagridView で機能しませんか?

プログラミングQA

[ad_1]

こんにちは、みんな、

ハイライトモードでは行を表示したくありません。
デフォルトでは、Datagridview の一番上の行がハイライト モードになっている必要があります。

Datagridview1.ClearSelection(); を試してみました。
ただし、最上位の行は強調表示モードで表示されます。

これが私のコードです

プライベート void FillGridView()
{
試す
{
DataTable dtfillgrid = new DataTable();
dtfillgrid = dc.GetDataTable("Select * From SIF Where UID=" + Convert.ToInt32(Constants.NodetooltipUnit));
DataTable dtClassificationSIFIDs = new DataTable();
dtClassificationSIFIDs = dc.GetDataTable("ClassificationSIF から SIFID を選択");
if (dtfillgrid.Rows.Count > 0)
{
dgrid.DataSource = dtfillgrid;
dgrid.Columns["SIFID"].Visible = false;
dgrid.Columns["UID"].Visible = false;
//dgrid.ClearSelection();
//dgrid.Rows[0].Selected = false;
if (dtClassificationSIFIDs.Rows.Count > 0)
{
for (int i = 0; i {
for (int j = 0; j < dgrid.Rows.Count; j++)
{
if (dtClassificationSIFIDs.Rows[i][&quot;SIFID&quot;].ToString().Equals(dgrid.Rows[j].セル[&quot;SIFID&quot;].Value.ToString()))
{
dgrid.Rows[j].DefaultCellStyle.BackColor = Color.Green;
}
}
}
}
}
}
catch (例外例)
{
DataClass.LogError(ex);
}
}

何かアイデアがあれば教えてください。

よろしく、
パワン。

解決策 5

グリッドがロードされるまでの時間を与える必要があるため、ClearSelectionをdatabindingcompleteに置く必要があると思います。グリッドを埋めた後にClearSelectionを呼び出すと、グリッド自体が描画される前にclearselectionが実行されるためです(したがって、描画された直後に最初の行が選択されます)。

private void dgvSchedule_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
   dgvSchedule.ClearSelection();
}

解決策 1

Datagridview1.SelectedIndex=-1;
それを試してみてください
このコード行で問題が解決します

解決策 2

dataGridView1.Rows[0].Selected = false;

解決策 6

ただし、Load… の後に _RowPrePaint などの他のイベントが発生する可能性があるため、これらのイベントの currentcell = nothing によっても問題が解決される可能性があるので注意してください。

解決策 4

dgrid.DataGridView.ClearSelection()
dgrid.DataGridView.CurrentCell = Nothing

[ad_2]

コメント

タイトルとURLをコピーしました