在 gridview 中显示选定的行
Show selected row in gridview
我有一个带有 RadGridView
的数据输入表单。数据在行的主字段中按字母顺序索引。当我添加一个新行并按 update
时,它当然会转到其在行顺序中的位置。但我不仅希望新行被选中,而且我还希望显示我的网格 window。当我在 C# 中使用默认值 GridView
时,这段代码运行良好:
private void btnUpdate_Click(object sender, EventArgs e)
{
int id = 0;
id = Convert.ToInt32(lblId.Text);
foreach (var dgr in gridViewCompanies.Rows)
{
if (dgr.Cells[0].Value.Equals(tbl.ID))
{
dgr.IsSelected = true;
dgr.Cells[0].IsSelected = true;
gridViewCompanies.FirstRowIndex = dgr.Index;
break;
}
}
}
(我只是复制了这段代码的相关部分)
但现在我正在使用 RadGridView
(出于某些其他原因),最后一行 gridViewCompanies.FirstRowIndex = dgr.Index;
似乎不起作用。这意味着我的新行 被 选中,但视图不会显示它。我必须向下滚动才能找到新添加的行。
private void btnUpdate_Click(object sender, EventArgs e)
{
int id = 0;
id = Convert.ToInt32(lblId.Text);
foreach (var dgr in gridViewCompanies.Rows)
{
if (dgr.Cells[0].Value.Equals(tbl.ID))
{
dgr.IsSelected = true;
dgr.Cells[0].IsSelected = true;
this.radGridView.TableElement.VScrollBar.Value = dgr.Index;
break;
}
}
}
试试这个代码
这就是最终起作用的方法:
private void btnUpdate_Click(object sender, EventArgs e)
{
int id = 0;
id = Convert.ToInt32(lblId.Text);
foreach (var dgr in gridViewCompanies.Rows)
{
if (dgr.Cells[0].Value.Equals(tbl.ID))
{
dgr.IsSelected = true;
dgr.Cells[0].IsSelected = true;GridTableElement tableElement = this.gridViewCompanies.CurrentView as GridTableElement;
tableElement.ScrollToRow(dgr.Index);
break;
}
}
}
我有一个带有 RadGridView
的数据输入表单。数据在行的主字段中按字母顺序索引。当我添加一个新行并按 update
时,它当然会转到其在行顺序中的位置。但我不仅希望新行被选中,而且我还希望显示我的网格 window。当我在 C# 中使用默认值 GridView
时,这段代码运行良好:
private void btnUpdate_Click(object sender, EventArgs e)
{
int id = 0;
id = Convert.ToInt32(lblId.Text);
foreach (var dgr in gridViewCompanies.Rows)
{
if (dgr.Cells[0].Value.Equals(tbl.ID))
{
dgr.IsSelected = true;
dgr.Cells[0].IsSelected = true;
gridViewCompanies.FirstRowIndex = dgr.Index;
break;
}
}
}
(我只是复制了这段代码的相关部分)
但现在我正在使用 RadGridView
(出于某些其他原因),最后一行 gridViewCompanies.FirstRowIndex = dgr.Index;
似乎不起作用。这意味着我的新行 被 选中,但视图不会显示它。我必须向下滚动才能找到新添加的行。
private void btnUpdate_Click(object sender, EventArgs e)
{
int id = 0;
id = Convert.ToInt32(lblId.Text);
foreach (var dgr in gridViewCompanies.Rows)
{
if (dgr.Cells[0].Value.Equals(tbl.ID))
{
dgr.IsSelected = true;
dgr.Cells[0].IsSelected = true;
this.radGridView.TableElement.VScrollBar.Value = dgr.Index;
break;
}
}
}
试试这个代码
这就是最终起作用的方法:
private void btnUpdate_Click(object sender, EventArgs e)
{
int id = 0;
id = Convert.ToInt32(lblId.Text);
foreach (var dgr in gridViewCompanies.Rows)
{
if (dgr.Cells[0].Value.Equals(tbl.ID))
{
dgr.IsSelected = true;
dgr.Cells[0].IsSelected = true;GridTableElement tableElement = this.gridViewCompanies.CurrentView as GridTableElement;
tableElement.ScrollToRow(dgr.Index);
break;
}
}
}