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

[Solved] Visible = false and ReadOnly = True Column not available in ExtractValuseFromItem result

1 Answer 98 Views
Grid
This is a migrated thread and some comments may be shown as answers.
ScalarSyS
Top achievements
Rank 1
ScalarSyS asked on 30 Sep 2009, 06:09 PM
I have a N-tier application patterned after the Northwind N-tier example.

Page Codebehind:

**** this is where my problem is ("Object reference not set to an instance of an object")

        protected void RadGrid1_UpdateCommand(object source, GridCommandEventArgs e) 
        { 
            IDictionary dict = new Hashtable(); 
            GridEditFormItem editedItem = (GridEditFormItem)e.Item; 
            editedItem.OwnerTableView.ExtractValuesFromItem(dict, editedItem); 
 
            User editeduser = new User(); 
 
    ****        editeduser.Uid = int.Parse(dict["Uid"].ToString()); 
            editeduser.First = dict["First"].ToString(); 
            editeduser.Last = dict["Last"].ToString(); 
            editeduser.Username = dict["Username"].ToString(); 
 
            dataProvider.UpdateUser(editeduser); 
        } 

Since the column "Uid" is both hidden and read only it doesn't show up in "dict".

How can I work around this? What is the correct way to access the value of a hidden read only value from UpdateCommand event?


1 Answer, 1 is accepted

Sort by
0
ScalarSyS
Top achievements
Rank 1
answered on 30 Sep 2009, 06:39 PM
This is how I solved my issue...

        protected void RadGrid1_UpdateCommand(object source, GridCommandEventArgs e) 
        { 
            IDictionary dict = new Hashtable(); 
            GridEditFormItem editedItem = (GridEditFormItem)e.Item; 
            editedItem.OwnerTableView.ExtractValuesFromItem(dict, editedItem); 
 
            User editeduser = new User(); 
 
            editeduser.Uid = int.Parse(e.Item.OwnerTableView.DataKeyValues[editedItem.ItemIndex]["Uid"].ToString()); 
            editeduser.First = dict["First"].ToString(); 
            editeduser.Last = dict["Last"].ToString(); 
            editeduser.Username = dict["Username"].ToString(); 
 
            dataProvider.UpdateUser(editeduser); 
        } 

Tags
Grid
Asked by
ScalarSyS
Top achievements
Rank 1
Answers by
ScalarSyS
Top achievements
Rank 1
Share this question
or