int focuseHandle = gv.FocusedRowHandle;
GridColumn column = gv.Columns["plan_id"];
if (column != null)
{
if (focuseHandle >= 0)
{
var topRow = gv.GetRow(topHandle) as grid_data; ;
var fRow = gv.GetRow(focuseHandle) as grid_data;
gc.DataSource = data;
gv.FindFilterText = btn_Search.Text;
int newTopRow = gv.LocateByValue(0, column, topRow.plan_id);
if (newTopRow != GridControl.InvalidRowHandle)
gv.TopRowIndex = newTopRow;
focuseIndex = gv.LocateByValue(0, column, fRow.plan_id);
if (focuseIndex != GridControl.InvalidRowHandle)
{
gv.FocusedRowHandle = focuseIndex;
gv.SetMasterRowExpanded(focuseIndex, true);
}
}