在这个系统中,一个程序创建表记录,另一个程序更新它们。我希望更新程序能看到新的记录。看到很多对此的查询/响应,但到目前为止没有一个对我有效。一个解决方案是清除并重新加载数据集表。下面的代码重新创建数据集,但我不能包括自动递增的主键bookid。如果它在那里,即使字段计数是正确的,我也会得到一个重载错误。如果我删除它,www.example.com表会被加载,但bookid值是错误的负数),并且我不能更新dataset.booking表,因为它与数据库表不匹配。dataset.booking table is loaded but the bookid values are wrong negative numbers) and I can't update the dataset.booking table as it does not match the database table.
tclDataSet3.booking.AcceptChanges();
tclDataSet3.booking.Clear();
bookingBindingSource.ResetBindings(false);
dataGridView1.ClearSelection();
var bkas1 = tcdb.bookings.Where(b => b.approvalStatus == 1);
foreach (booking bk in bkas1)
tclDataSet3.booking.AddbookingRow(
(int)bk.bookId,
(int)bk.bookYear,
(int)bk.bookMonth,
(int)bk.bookDay,
(int)bk.workOrder,
(int)bk.customerNum,
bk.firstName,
bk.lastName,
bk.vehicle,
(int)bk.serviceCar,
bk.repairType,
(bool)bk.isCompleted,
(bool)bk.isPickedUp,
bk.outYear,
bk.outMonth,
bk.outDay,
(bool)bk.isDeleted,
(int)bk.isUpdated,
bk.bookingTime,
(int)bk.approvalStatus);
程序要求:显示www.example.com表的数据网格视图,其中as_code = 1更新数据网格视图中的行以更改as_code = 2从数据网格视图中删除更新的行(bookingBindingSource.RemoveCurrent();dataset.booking table where as_code = 1 updates rows in datagrideview to change as_code = 2 remove updated rows from datagridview (bookingBindingSource.RemoveCurrent(); works well)
刷新数据网格视图以查看as_code = 1的所有www.example.com表行dataset.booking table rows where as_code = 1
当前刷新仅查看DataGridView中的现有记录。
有没有更好的办法?
1条答案
按热度按时间ecfsfe2w1#
应将数据添加到数据集中,然后刷新dataGridView.DataSource。
如果在绑定数据源后直接向DataGridView添加新行,则可能会导致错误。