在添加到DataGridView C时,是否可以将行设置为默认不可见#

时间:2015-09-03 06:20:49

标签: c# winforms datagridview

根据标题,在添加行时,默认情况下是否可以将DataGridView行设置为visible = false

//I am adding rows using the following method..
...
dgvNOPDocs.Rows.Add("Stuff", "MoreStuff");
...

是否有DataGridView设置或单元格样式可以让我们这样做?

感谢。

2 个答案:

答案 0 :(得分:3)

通过这种方式添加到row时,您可以选择DataGridView是否可见:

DataGridViewRow row = new DataGridViewRow(); //create new row
row.CreateCells(dgvNOPDocs);   //create cells based on dgv columns
row.SetValues({"Stuff", "MoreStuff"});  //set values (assuming there is only two columns in Your dgv
if (some condition why row would be invisible) { row.Visible = false; }
dgvNOPDocs.Rows.Add(row);  //adding new row into dgv

我希望如此,这将有助于你(我希望如此,我也能正确地从vb.net转换为c#)。

答案 1 :(得分:1)

尝试处理RowsAdded网格事件并在那里隐藏新行

public Form1()
{
    InitializeComponent();

    // attach handler
    dgvNOPDocs.RowsAdded += GridOnRowsAdded;

    // test
    dgvNOPDocs.Rows.Add("Stuff");
    dgvNOPDocs.RowCount = 3;
}

private void GridOnRowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
{
    // hide rows
    for (int i = e.RowIndex; i < e.RowIndex + e.RowCount; i++)
    {                
        if (dgvNOPDocs.Rows[i].IsNewRow == false)
            dgvNOPDocs.Rows[i].Visible = false;
    }
}