This is a migrated thread and some comments may be shown as answers.

Select Row After Update Command

2 Answers 148 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Shafees
Top achievements
Rank 2
Shafees asked on 04 Nov 2010, 02:19 PM
Hi,
        How can i select the Row After Insert or Update Command (after Inserting/updating the current updated /insertedrow).

        I am using
protected void radGridActivity_UpdateCommand(object source, GridCommandEventArgs e)
{
}

2 Answers, 1 is accepted

Sort by
0
Accepted
Shinu
Top achievements
Rank 2
answered on 04 Nov 2010, 03:03 PM
Hello Shafees,

In order to select the last updated record, try the following code.

C#:
int rowindex = -1;
 protected void RadGrid1_UpdateCommand(object source, GridCommandEventArgs e)
 {
     GridEditFormItem editItem = (GridEditFormItem)e.Item;
     rowindex = editItem.ItemIndex;
 }
 protected void RadGrid1_PreRender(object sender, EventArgs e)
 {
     if (rowindex > -1)
     {
         GridDataItem item = (GridDataItem)RadGrid1.Items[rowindex];
         item.Selected = true;
         rowindex = -1;
     }
 }

The following code library shows how to select the last inserted record.
Select Last Inserted Row

-Shinu.
0
Shafees
Top achievements
Rank 2
answered on 05 Nov 2010, 12:55 PM
Thank You Shinu, Thats Work Fine.

.............
int varGrid1RowIndex = -1;
protected void RadGrid1_InsertCommand(object source, GridCommandEventArgs e)
{
    DataTable objDataTable = GetGridData();  /*objDataTable must contain autoId column*/
    DataRow objNewDataRow = objDataTable.NewRow();
    .
    .
    .
    if(/*insert is success*/)
    {
        varGrid1RowIndex = Convert.ToInt32(objNewDataRow["autoId"].ToString());
    }
}
protected void RadGrid1_UpdateCommand(object source, GridCommandEventArgs e)
{
    GridEditableItem objEditedItem = e.Item as GridEditableItem;
    .
    .
    .
    if(/*Update is success*/)
    {
        DataTable objDataTable = GetGridData(); /*objDataTable must contain autoId column*/
        DataRow[] objArrayChangedDataRow = objDataTable.Select("" + "autoId" + " = " + objEditedItem.OwnerTableView.DataKeyValues[objEditedItem.ItemIndex]["autoId"]);
        varGrid1RowIndex = Convert.ToInt32(objArrayChangedDataRow[0]["autoId"].ToString());
    }
}
protected void RadGrid1_PreRender(object sender, EventArgs e)
{
    if (varGrid1RowIndex > -1)
    {
        for (int i = 0; i < RadGrid1.Items.Count; i++)
        {
            int autoId = Convert.ToInt32(RadGrid1.Items[i].OwnerTableView.DataKeyValues[i]["autoId"].ToString());
            if (autoId == varGrid1RowIndex)
            {
                RadGrid1.Items[i].Selected = true;
            }
        }
    }
}
<telerik:RadGrid ID="RadGrid1" runat="server" OnNeedDataSource="RadGrid1_NeedDataSource"
     OnDeleteCommand="RadGrid1_DeleteCommand"
     OnInsertCommand="RadGrid1_InsertCommand" OnUpdateCommand="RadGrid1_UpdateCommand"
     OnPreRender="radGridActivity_PreRender">
        <MasterTableView DataKeyNames="autoId">
           <Columns>
             <telerik:...
                        .
                        .
</telerik:RadGrid>
Tags
Grid
Asked by
Shafees
Top achievements
Rank 2
Answers by
Shinu
Top achievements
Rank 2
Shafees
Top achievements
Rank 2
Share this question
or