【问题标题】:c# Display selected rows in DataGridviewc#在DataGridview中显示选定的行
【发布时间】:2018-07-18 10:19:49
【问题描述】:

我的 datagridview 填充了多行数据,我可以在我的 datagridview 中选择多行,然后想要更新 datagridview 以显示选定的行。

在这种情况下,如果它已经在屏幕上,我可以显示选定的行(简而言之:如果它被选中,则需要将 datagridview 向上滚动到选定的行或结束行)

do
{
    for (int j = 0; j <= stringToHighlight.Length; j++)
    {
        if (ColID > 15)
        {
            rowID++;
            ColID = 0;
        }
        if (stringToHighlight[j].ToString().ToLower() == dataGridView1.Rows[rowID].Cells[ColID].Value.ToString().ToLower())
        {
            GridView_Binary.Rows[rowID].Cells[ColID].Selected = true;
            dataGridView1.Rows[rowID].Cells[ColID].Selected = true;
            ColID++;
        }
        else
        {
            GridView_Binary.ClearSelection();
            dataGridView1.ClearSelection();
            break;
        }

        if (j == stringToHighlight.Length - 1)
        {
            ISNext = false;

            return true;
        }
    }
    ColID++;
}
while (ISNext);

【问题讨论】:

  • 一些代码,也许?
  • 您的问题是什么?
  • 需要滚动取决于下一个选择@AleksaRistic
  • 哪个部分不起作用,或者您希望有人为您编写功能?

标签: c# winforms


【解决方案1】:

要滚动到选定的行,请使用:

dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.SelectedRows[0].Index;

如果你想要所有的检查代码看起来像这样:

//Checking if data grid view have rows
if(dataGridView1.Rows.Count > 0)
{
    //Checking if anything is selected
    if(dataGridView1.SelectedRows.Count > 0)
    {
        //Selecting first of all selected rows in datagridview
        dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.SelectedRows[0].Index;
    }
    else
    {
        //Selecting last row in data grid view
        dataGridView1.FirstDisplayedScrollingRowIndex = (dataGridView1.Rows.Count - 1);
    }
}

【讨论】:

    猜你喜欢
    • 2015-07-12
    • 1970-01-01
    • 1970-01-01
    • 2012-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多