0

次のコードは、tableDocTypes DataGridView に行を追加するたびに呼び出すメソッドです。デバッグは、RowCount が正しくインクリメントされ、渡されたすべてのデータが正しいことを示していますが、フォームが表示されると、最後の行のみが表示されます。また、表示される最後の行は空白にする必要がある行にあるため、星の横に空白のセルがないため、新しい行を追加できません。私の推測では、 tableDocTypes.RowCount - 1 をインデックスとして使用するべきではありませんが、正しくインクリメントしているように見え、他に使用するものが見つかりません。どんな情報でも役に立ちます。

private void addRowToDocTypeTable(bool docTypeValid, string formName, string formCabinet, string docType)
{
    tableDocTypes.Rows.Add();

    if (!docTypeValid)
    {
        // Change color to yellow and display IndexWarning icons
        tableDocTypes.Rows[tableDocTypes.RowCount - 1].Cells[columnDocTypeImage.Index].Value = Properties.Resources.IndexWarning;
        tableDocTypes.Rows[tableDocTypes.RowCount - 1].Cells[columnDocType.Index].Style.BackColor = Color.LightGoldenrodYellow;
    }
    else
    {
        // Index is good so display IndexCorrect and leave line white
        tableDocTypes.Rows[tableDocTypes.RowCount - 1].Cells[columnDocTypeImage.Index].Value = Properties.Resources.IndexCorrect;
    }

    tableDocTypes.Rows[tableDocTypes.RowCount - 1].Cells[columnFormName.Index].Value = formName;
    tableDocTypes.Rows[tableDocTypes.RowCount - 1].Cells[columnFormCabinet.Index].Value = formCabinet;
    tableDocTypes.Rows[tableDocTypes.RowCount - 1].Cells[columnDocType.Index].Value = docType;

    // Assign the rename menue to only the image column
    tableDocTypes.Rows[tableDocTypes.RowCount - 1].Cells[columnDocTypeImage.Index].ContextMenuStrip = menuDocTypeEdit;
}
4

0 に答える 0