|
DataGridView удаление строки.
|
|||
---|---|---|---|
#18+
Добрый день. Неделю бодаюсь с проблемой. На форме разместил DataGridView и привязал к ней базу .sdf Также на форме есть BindingNavigator, table AdapterManager,BindingSourse стандартные элементы для таблицы. Проблема в том когда жмакаю на кнопку удалить запись удаляется, но при Refresh запись снова есть. При этом ексепшн выдает, что для Update нужна действительно Delete команда. часть кода для удаления: private void button_Delete_Click(object sender, EventArgs e) { try { DialogResult dialog = new DialogResult(); dialog = MessageBox.Show("Вы пытаетесь удалить запись","Message",MessageBoxButtons.OK,MessageBoxIcon.Question); if (dialog == DialogResult.OK) { this.phoneBaseBindingSource.RemoveCurrent(); this. phoneBaseDataGridView.RowsRemoved+=new DataGridViewRowsRemovedEventHandler(phoneBaseDataGridView_RowsRemoved); } } catch (Exception ex) { MessageBox.Show(ex.Message); } Подскажите что не так. В гриде на чекбоксе стоит галочка разрешение удаления. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2015, 09:56 |
|
DataGridView удаление строки.
|
|||
---|---|---|---|
#18+
ОлегБаш, А вы подключили к DataTable событие RowDeleted? А в dataTableAdapter команда DeleteCommand прописана? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2015, 18:23 |
|
DataGridView удаление строки.
|
|||
---|---|---|---|
#18+
Cat2, Спасибо за ответ. Строки удаляются но после очередного запуска тестирования они опять есть. То что вы предлагаете уже пробовал. Во код. Но при рефреше данные после удаления не сохраняются. Так как в проекте локальная база то я так понимаю нет необходимости подключать SqlCeCommand,DataTable и так далее так как это уже было создано в BindingNavigator. С удалением строк вполне справляется RemoveCurrent. Если есть идеи буду очень благодарен. Для элемента Update требуется действительный DeleteCommand при передаче коллекции DataRow с удаленными строками. Это строка ексепшина когда пытаюсь рефрешить. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlServerCe; namespace Телефонный_справочник { public partial class Form1 : Form { public Form1() { InitializeComponent(); } DataSet ds = new DataSet("PhoneBase.sdf"); private void phoneBaseBindingNavigatorSaveItem_Click(object sender, EventArgs e) { this.Validate(); this.phoneBaseBindingSource.EndEdit(); this.tableAdapterManager.UpdateAll(this.phoneBaseDataSet1); } private void Form1_Load(object sender, EventArgs e) { // TODO: данная строка кода позволяет загрузить данные в таблицу "phoneBaseDataSet1.PhoneBase". При необходимости она может быть перемещена или удалена. this.phoneBaseTableAdapter.Fill(this.phoneBaseDataSet1.PhoneBase); timer1.Start(); dateTimePicker1.CustomFormat = "MMMM dd, yyyy - dddd"; dateTimePicker1.Format = DateTimePickerFormat.Custom; for (int i = 0; i <= phoneBaseDataGridView.RowCount; i++) { phoneBaseDataGridView.Rows[i].Cells[12].Value = dateTimePicker1.Value; } } int count = 0; private void timer1_Tick(object sender, EventArgs e) { count = phoneBaseBindingSource.Count; label1.Text = "Количество записей в базе: " + count.ToString(); if (count < 2) groupBox3.Visible = false; else groupBox3.Visible = true; } private void button_Add_Click(object sender, EventArgs e) { phoneBaseBindingSource.AddNew(); } private void button_Save_Click(object sender, EventArgs e) { this.Validate(); this.phoneBaseBindingSource.EndEdit(); } private void button_Delete_Click(object sender, EventArgs e) { try { DialogResult dialog = new DialogResult(); dialog = MessageBox.Show("Вы пытаетесь удалить запись", "Message", MessageBoxButtons.OK, MessageBoxIcon.Question); if (dialog == DialogResult.OK) { this.phoneBaseBindingSource.RemoveCurrent(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void button_Refresh_Click(object sender, EventArgs e) { tableAdapterManager.UpdateAll(this.phoneBaseDataGridView.); } ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2015, 11:52 |
|
DataGridView удаление строки.
|
|||
---|---|---|---|
#18+
ОлегБаш, Вы не читаете то что вам пишут... или не понимаете вопросов... Совет - вставьте строку сообщения об ошибке в поиск google ( А в dataTableAdapter команда DeleteCommand прописана? ) Как заработает, не забудьте посмотреть свойства вашего sdf'а... если он добавлен в проект... (Copy to output directory) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2015, 12:15 |
|
DataGridView удаление строки.
|
|||
---|---|---|---|
#18+
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2015, 17:19 |
|
DataGridView удаление строки.
|
|||
---|---|---|---|
#18+
Не туда воткнулю Хотя это проблемы не решит, просто так должно быть Cat2 Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2015, 18:31 |
|
DataGridView удаление строки.
|
|||
---|---|---|---|
#18+
Всем спасибо за советы. По новой создал все приложение и заработало. По видимому что то криво стояло или прописалось в дизайнере. Cat2Не туда воткнулю Хотя это проблемы не решит, просто так должно быть Cat2 Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2015, 15:02 |
|
|
start [/forum/topic.php?fid=20&fpage=88&tid=1401645]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
171ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 269ms |
0 / 0 |