- Home
- Forum
- Angular - EJ 2
- Primary Key Issue
Primary Key Issue
Hi Team
I use ej2 angular gird for CRUD operations. The data exchange with the server is done using angular service through HttpClient. I set the data source similar to setting a local JSON data.
- If I do not set the Id col as primary key ,
- Adding and updating a blank grid works perfectly
- But when the saved data returned from the server cannot be correctly edited and saved. It will just update the first row.
- If I set the Id coulumn as Primary key,
- adding and updating to blank grid before communicating with server is not possible.
- Data returned from the server works fine
Please advice a solution
SIGN IN To post a reply.
3 Replies
TS
Thavasianand Sankaranarayanan
Syncfusion Team
February 12, 2019 06:41 AM UTC
Hi Sahal,
Greetings from Syncfusion.
Based on your query we suspect that you want to do CRUD operations in Grid. By default, if you are using CRUD operation in Grid then we need to have isPrimaryKey column, which has the unique value. So, we suggest you to set the isPrimaryKey for particular column in Grid. Also if we have blank values in Grid then while editing that row it will shown the proper values in edit form because it is not fetching the proper value when isPrimaryKey column value as null.
Please let us know if you need further assistance on this.
Regards,
Thavasianand S.
SA
Sahal
February 12, 2019 07:56 AM UTC
Usually data stored in the database have an identity column and a primary key. ie on insert the primary key is incremented. If we set that field as the primary key for the grid whenever a new row is added, it will have a null value and hence the editing won't work properly.
If we somehow increment this field and set it on the grid, when we sent the data to the db, the newly incremented values may or may not be present and will lead to an inconsistent edit/insert operation
Could you please provide sample for my scenario
In my opinion the desired behavior of the grid should be that when a primary key is set by the code, the grid should automatically create a hidden primary key and manage the CRUD operation. This is how Microsoft manages in their DataGridView Control.
MS
Madhu Sudhanan P
Syncfusion Team
February 14, 2019 09:31 AM UTC
Hi Sahal,
Thanks for your update.
Query : the desired behavior of the grid should be that when a primary key is set by the code, the grid should automatically create a hidden primary key and manage the CRUD operation
We have analyzed your query and by default, the grid must be configured with a primary key column to perform the CRUD operations.
In your scenario, you have provided the data source as local array and the save operation is performed externally to the server hence the primary key obtained after the ‘Update’ action is not reflected in the grid. To resolve this, we suggest to get the updated data from the database and provide it to the grid once again in the actionComplete event when args.requestType is ‘save’.
Also please provide the below information for us to analyze your query and provide a better solution as soon as possible,
- Share the full grid code example?
- Share the reason for setting the grid data source with local data?
- Share the server side code example?
- Share your exact grid requirement for us to create a custom sample?
Please get back to us for further assistance.
Regards,
Madhu Sudhanan P
SIGN IN To post a reply.
- 3 Replies
- 3 Participants
-
SA Sahal
- Feb 11, 2019 08:34 AM UTC
- Feb 14, 2019 09:31 AM UTC