So I have a RadGridView that is bound to a "BindingSource." The bindingsource is populated using a SqlDataAdapter.
The data being pulled in has an auto-incrementing Identity Column (ID) as it's primary key.
I have successfully bound the grid, I can edit records and successfully see the changes in the database. However when I add a record, the data is successfully added to the database, but in the grid the "ID" field shows a value of "0" instead of the actual new value. How do i refresh the grid to show the new information?
Thank you!
The data being pulled in has an auto-incrementing Identity Column (ID) as it's primary key.
I have successfully bound the grid, I can edit records and successfully see the changes in the database. However when I add a record, the data is successfully added to the database, but in the grid the "ID" field shows a value of "0" instead of the actual new value. How do i refresh the grid to show the new information?
Thank you!
4 Answers, 1 is accepted
0
Hello ,
Thank you for writing.
When you create a DataSet from the MS SQL server database, several properties of the auto number fields are wrongly set. Please refer to the attached screenshot illustrating what should be changed in order to obtain the correct auto-incremented id in the RadGridView new row.
I hope this information helps. Should you have further questions, I would be glad to help.
Regards,
Desislava
Telerik
Thank you for writing.
When you create a DataSet from the MS SQL server database, several properties of the auto number fields are wrongly set. Please refer to the attached screenshot illustrating what should be changed in order to obtain the correct auto-incremented id in the RadGridView new row.
I hope this information helps. Should you have further questions, I would be glad to help.
Regards,
Desislava
Telerik
Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.
0
Exchange
Top achievements
Rank 1
answered on 07 Nov 2014, 02:59 PM
previously I had this in the binding code:
I have added
"ds.Tables[0].Columns[PrimaryKey].AutoIncrementSeed = 1;"
However now the error i receive is:
"Column is constrained to be unique. Value '1' is already present.
Suggestions?
if
(isAutoField)
{
ds.Tables[0].Columns[PrimaryKey].AutoIncrement =
true
;
ds.Tables[0].Columns[PrimaryKey].AutoIncrementStep = 1;
}
I have added
"ds.Tables[0].Columns[PrimaryKey].AutoIncrementSeed = 1;"
However now the error i receive is:
"Column is constrained to be unique. Value '1' is already present.
Suggestions?
0
Exchange
Top achievements
Rank 1
answered on 07 Nov 2014, 03:15 PM
Nevermind, I set the seed to the max id value +1 and it was able to save successfully. Thank you!
0
Hello,
Thank you for writing back.
I am glad that you have found a solution which suits your requirement. However, if you prefer to modify the described changes at run time, you should set the AutoIncrement, AutoIncrementStep and AutoIncrementSeed properties before filling the table adapter:
Thus, when adding a new row, the "ID" column will be auto-incremented.
I hope this information helps. If you have any additional questions, please let me know.
Regards,
Desislava
Telerik
Thank you for writing back.
I am glad that you have found a solution which suits your requirement. However, if you prefer to modify the described changes at run time, you should set the AutoIncrement, AutoIncrementStep and AutoIncrementSeed properties before filling the table adapter:
private
void
Form1_Load(
object
sender, EventArgs e)
{
this
.nwindDataSet.Tables[0].Columns[0].AutoIncrement =
true
;
this
.nwindDataSet.Tables[0].Columns[0].AutoIncrementStep = 1;
this
.nwindDataSet.Tables[0].Columns[0].AutoIncrementSeed = 1;
this
.categoriesTableAdapter.Fill(
this
.nwindDataSet.Categories);
this
.radGridView1.DataSource =
this
.categoriesBindingSource;
}
Thus, when adding a new row, the "ID" column will be auto-incremented.
I hope this information helps. If you have any additional questions, please let me know.
Regards,
Desislava
Telerik
Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.