[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]["SIFID"].ToString().Equals(dgrid.Rows[j].セル["SIFID"].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]
コメント