[英]Show selected row in gridview
我有一個帶有RadGridView
的數據輸入表單。 數據在該行的主字段中按字母順序索引。 當我添加新行並按update
,它當然會轉到行順序中的位置。 但是我不僅希望選擇新行,而且還希望顯示網格窗口。 當我在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;
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.