Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Запрет очистки dataset-а при закрытии формы
|
|||
|---|---|---|---|
|
#18+
ребят подскажите ... пытаюсь реализовать выбор продукции в накладную... для ентого из формы самой накладной открывается прайс с продукцией где пользователь ищет что ему нужно и выбивает кол-во .. вот по задумке когда пользователь выбирает позицию я пытаюсь закинуть данную строку в отду из таблиц в датасете fm_input_kol fmink = new fm_input_kol(); DataTable t_charge; t_charge = ds_listv_.Tables[2]; DataRow newRow = t_charge.NewRow(); DataRow drow; drow = gridView1.GetDataRow(gridView1.FocusedRowHandle); newRow[0] = drow[0]; newRow[1] = drow[1]; newRow[2] = drow[2]; newRow[3] = drow[3]; newRow[4] = fmink.input_kol; newRow[5] = drow[5]; newRow[6] = drow[6]; newRow[7] = drow[7]; newRow[8] = drow[8]; newRow[9] = drow[9]; newRow[10] = drow[10]; newRow[11] = drow[11]; newRow[12] = drow[12]; newRow[13] = drow[13]; newRow[14] = drow[14]; t_charge.Rows.Add(newRow); При попытке посмотреть закинулась ли строка или нет ..то все нормально строка добавляется ..но при закрытии формы со списком товара ..датасет очищаеться.. как сделать чтобы он не очищался..ли бо предложите варианты реализации выбора позицый в накладную? Плызз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2004, 18:40 |
|
||
|
Запрет очистки dataset-а при закрытии формы
|
|||
|---|---|---|---|
|
#18+
сам DataSet очиститься не может. см. в программе, м.б. ты сам ему присваиваешь new DataSet() или делаешь откат исправлений по RejectChanges() ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2004, 18:53 |
|
||
|
Запрет очистки dataset-а при закрытии формы
|
|||
|---|---|---|---|
|
#18+
нет я ничего такого не делаю ..я просто закрываю форму из которой работал с датасетом... Народ подскажите очень нужно.... Может есть еще какой нить вариант ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2004, 10:10 |
|
||
|
Запрет очистки dataset-а при закрытии формы
|
|||
|---|---|---|---|
|
#18+
sashenkaнет я ничего такого не делаю ..я просто закрываю форму из которой работал с датасетом... Народ подскажите очень нужно.... Может есть еще какой нить вариант А как и где определен этот DataSet ? Не переменная ли это уровня формы, которая закрывается ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2004, 12:39 |
|
||
|
Запрет очистки dataset-а при закрытии формы
|
|||
|---|---|---|---|
|
#18+
датасет размещен на форме... которая закрывается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2004, 16:17 |
|
||
|
Запрет очистки dataset-а при закрытии формы
|
|||
|---|---|---|---|
|
#18+
sashenkaдатасет размещен на форме... которая закрывается... действительно странно и почему же оно очищается? :) Есть такое понятие - область видимости :) А что если попробовать объявить датасет вне формы и передавать ссылку на этот датасет в форму, например через конструтор? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2004, 21:12 |
|
||
|
Запрет очистки dataset-а при закрытии формы
|
|||
|---|---|---|---|
|
#18+
а можно примерчик???? ... я слышал такую версию но из-за неопытности реализовать еще немогу... если есть желание приведите пример кода ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2004, 09:59 |
|
||
|
Запрет очистки dataset-а при закрытии формы
|
|||
|---|---|---|---|
|
#18+
переделал вот так теперь не происходит заполнение на форме поиска объектов а вызывается функция с формы приходной накладной fm_charge fmch = new fm_charge(); fmch.table_row_add(fminkol.input_kol,gridView1.GetDataRow(gridView1.FocusedRowHandle)); а заполнение происходит на форме самой накладной public void table_row_add(int rem_n,DataRow drow) { DataTable t_charge; t_charge = ds_charge.Tables[2]; DataRow newRow; newRow = t_charge.NewRow(); newRow[0] = drow[0]; newRow[1] = drow[1]; newRow[2] = drow[2]; newRow[3] = drow[3]; newRow[4] = rem_n; newRow[5] = drow[5]; newRow[6] = drow[6]; newRow[7] = drow[7]; newRow[8] = drow[8]; newRow[9] = drow[9]; newRow[10] = drow[10]; newRow[11] = drow[11]; newRow[12] = drow[12]; newRow[13] = drow[13]; newRow[14] = drow[14]; t_charge.Rows.Add(newRow); t_charge.AcceptChanges(); но результат один и тот же таблица пустая } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2004, 12:43 |
|
||
|
Запрет очистки dataset-а при закрытии формы
|
|||
|---|---|---|---|
|
#18+
sashenkaпеределал вот так теперь не происходит заполнение на форме поиска объектов а вызывается функция с формы приходной накладной fm_charge fmch = new fm_charge(); fmch.table_row_add(fminkol.input_kol,gridView1.GetDataRow(gridView1.FocusedRowHandle)); а заполнение происходит на форме самой накладной public void table_row_add(int rem_n,DataRow drow) { DataTable t_charge; t_charge = ds_charge.Tables[2]; DataRow newRow; newRow = t_charge.NewRow(); newRow[0] = drow[0]; newRow[1] = drow[1]; newRow[2] = drow[2]; newRow[3] = drow[3]; newRow[4] = rem_n; newRow[5] = drow[5]; newRow[6] = drow[6]; newRow[7] = drow[7]; newRow[8] = drow[8]; newRow[9] = drow[9]; newRow[10] = drow[10]; newRow[11] = drow[11]; newRow[12] = drow[12]; newRow[13] = drow[13]; newRow[14] = drow[14]; t_charge.Rows.Add(newRow); t_charge.AcceptChanges(); но результат один и тот же таблица пустая } Оххх ... Ну хотя бы почитайте какую нибудь книжку по элементарному программированию DataTable t_charge - у вас локальная переменная, вы ее не куда не передаете и соответственно ваш ds_charge.Tables[2] - не изменяется t_charge - разрушается сразу по выходу из функции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2004, 12:59 |
|
||
|
Запрет очистки dataset-а при закрытии формы
|
|||
|---|---|---|---|
|
#18+
ну так подскажите куда и как ее нужно передать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2004, 13:13 |
|
||
|
Запрет очистки dataset-а при закрытии формы
|
|||
|---|---|---|---|
|
#18+
ну хотя бы так Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2004, 13:24 |
|
||
|
Запрет очистки dataset-а при закрытии формы
|
|||
|---|---|---|---|
|
#18+
public void table_row_add(int rem_n,DataRow drow) { // DataTable t_charge; // t_charge = ds_charge.Tables[2]; DataRow newRow; newRow = ds_charge.Tables[2].NewRow(); newRow[0] = drow[0]; newRow[1] = drow[1]; newRow[2] = drow[2]; newRow[3] = drow[3]; newRow[4] = rem_n; newRow[5] = drow[5]; newRow[6] = drow[6]; newRow[7] = drow[7]; newRow[8] = drow[8]; newRow[9] = drow[9]; newRow[10] = drow[10]; newRow[11] = drow[11]; newRow[12] = drow[12]; newRow[13] = drow[13]; newRow[14] = drow[14]; ds_charge.Tables[2].Rows.Add(newRow); ds_charge.Tables[2].AcceptChanges(); а вот так ..помойму уже ничего никуда не нужно передавать... код выполняеться непосредственно на форме накладной а не на форме выбора объектов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2004, 13:25 |
|
||
|
Запрет очистки dataset-а при закрытии формы
|
|||
|---|---|---|---|
|
#18+
но результат тот же таблица пустая... почему??7 что не так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2004, 13:27 |
|
||
|
Запрет очистки dataset-а при закрытии формы
|
|||
|---|---|---|---|
|
#18+
sashenkaно результат тот же таблица пустая... почему??7 что не так Ну давайте разьираться :) Дайте больше кода , напишите в каком датасете и в какой таблице у вас что хранится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2004, 13:41 |
|
||
|
Запрет очистки dataset-а при закрытии формы
|
|||
|---|---|---|---|
|
#18+
есть форма накладной ..fm_charge на ней размещен dataset ds_charge есть схема в которой храниться таблица sell или ....tables[2] а вот последовательность действий открываем форму накладной private void Form5_Load(object sender, System.EventArgs e) { mainForm fmmain = (mainForm)this.MdiParent; fmmain.menuItem1.Visible = false; fmmain.menuItem6.Visible = false; gr_charge.DataSource/*датагрид рамещенный на форме накладной*/ = ds_charge.Tables[2]; } после открытия грид пустой так как пользователь не выбрал туда объекты... открываем форму со списком объектов fm_listv на которой находиться датасет ds_listv_ и заполняем ее объектами mainForm fmmain = (mainForm)this.MdiParent; sqlda_listv.SelectCommand.Connection = fmmain.grandconnect; sqlda_listv.SelectCommand.Parameters.Clear(); sqlda_listv.SelectCommand.CommandText = "exec sp_view_positions_top"; try { sqlda_listv.Fill(ds_listv_.Tables[1]); gr_listv_.DataSource = ds_listv_.Tables[1]; } catch (Exception d) { MessageBox.Show("Ошибка получения списка книг " + d.Message); return; } если ползователь не нашел в списке нужные ему объект он вызывает диалог поиска private void menuItem2_Click(object sender, System.EventArgs e) { fm_find fmfnd = new fm_find(); fmfnd.ShowDialog(); if (fmfnd.ident_find == 1) { press_enter_npp(fmfnd.npp); } if (fmfnd.ident_find == 2) { press_enter_naimen(fmfnd.name); } } fmfnd.npp это номер книжки который передается в функцию поиска по значению которое ввел пользователь далее ищем private void press_enter_npp(int npp) { mainForm fmmain =(mainForm)this.MdiParent; sqlda_listv.SelectCommand.Connection = fmmain.grandconnect; sqlda_listv.SelectCommand.Parameters.Clear(); sqlda_listv.SelectCommand.Parameters.Add("@npp",SqlDbType.Int); sqlda_listv.SelectCommand.CommandText = "exec sp_view_posit_npp @npp"; sqlda_listv.SelectCommand.Parameters["@npp"].Value = npp; try { // после того как нашли перезаполняем датасет ds_listv_ ds_listv_.Tables[1].Clear(); sqlda_listv.Fill(ds_listv_.Tables[1]); } catch (Exception d) { MessageBox.Show("Ошибка поиска по полю НПП " + d.Message); return; } после того как нашли перезаполняем датасет ds_listv_ теперь пользователь вводит нужное ему кол-во и передает его в нашу злополучную ф-ю для добавления новой строки в накладную private void gr_listv__KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) { if (e.KeyData == Keys.Enter) { if (ds_listv_.Tables[1].Rows.Count>0) { fm_input_kol fminkol = new fm_input_kol(); fminkol.ShowDialog(); try { fm_charge fmch = new fm_charge(); fmch.table_row_add(fminkol.input_kol,gridView1.GetDataRow(gridView1.FocusedRowHandle)); //вот наша злополучная ф-я } catch (Exception d) { MessageBox.Show("Ошибка добавления записи в накладную расхода " + d.Message); return; } } } } а вот ее реализация на форме накладной public void table_row_add(int rem_n,DataRow drow) { // DataTable t_charge; // t_charge = ds_charge.Tables[2]; DataRow newRow; newRow = ds_charge.Tables[2].NewRow(); newRow[0] = drow[0]; newRow[1] = drow[1]; newRow[2] = drow[2]; newRow[3] = drow[3]; newRow[4] = rem_n; newRow[5] = drow[5]; newRow[6] = drow[6]; newRow[7] = drow[7]; newRow[8] = drow[8]; newRow[9] = drow[9]; newRow[10] = drow[10]; newRow[11] = drow[11]; newRow[12] = drow[12]; newRow[13] = drow[13]; newRow[14] = drow[14]; ds_charge.Tables[2].Rows.Add(newRow); ds_charge.Tables[2].AcceptChanges(); MessageBox.Show( ds_charge.Tables[2].Rows.Count.ToString()); } вот тут сообщение показывает что строка добавилась... но после закрытия формы да и не только после закрытия как только код вот в ентой обработке выполнен private void gr_listv__KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) { if (e.KeyData == Keys.Enter) { if (ds_listv_.Tables[1].Rows.Count>0) { fm_input_kol fminkol = new fm_input_kol(); fminkol.ShowDialog(); try { fm_charge fmch = new fm_charge(); fmch.table_row_add(fminkol.input_kol,gridView1.GetDataRow(gridView1.FocusedRowHandle)); //вот наша злополучная ф-я } catch (Exception d) { MessageBox.Show("Ошибка добавления записи в накладную расхода " + d.Message); return; } } } } уже пусто ...почему ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2004, 13:56 |
|
||
|
Запрет очистки dataset-а при закрытии формы
|
|||
|---|---|---|---|
|
#18+
если 6не получаеться сделать так как я додумался может кто нить предложит другой вариант? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2004, 15:08 |
|
||
|
Запрет очистки dataset-а при закрытии формы
|
|||
|---|---|---|---|
|
#18+
Можеь наведет на размышления :)) Файл Forms1.cs Код: plaintext 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. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. Файл Forms2.cs Код: plaintext 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. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2004, 16:58 |
|
||
|
Запрет очистки dataset-а при закрытии формы
|
|||
|---|---|---|---|
|
#18+
а по точнее можно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2004, 17:12 |
|
||
|
Запрет очистки dataset-а при закрытии формы
|
|||
|---|---|---|---|
|
#18+
sashenkaа по точнее можно Куда уж точнее я тебе дал пример (рабочий), где из одной формы с датагридом открвывается другая форма с датагридом, и из второй формы (веренее дата грида), выбранная запись попадает в первую форму (веренее датагрид)... Обрати вниманее где объявлен датасет и как он предается во вторую форму, т.е. на конструктор второй формы ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2004, 17:16 |
|
||
|
Запрет очистки dataset-а при закрытии формы
|
|||
|---|---|---|---|
|
#18+
ок спасибо..я просто новичем в шарпе и еще многово не понимаю буду пробовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2004, 17:18 |
|
||
|
Запрет очистки dataset-а при закрытии формы
|
|||
|---|---|---|---|
|
#18+
да блин ..... после делфей ..понятьь почему нужно так вывернуться чтоб добавить запись из одной формы в другую ...енто конечно задание не из легких.... но поверим тем кто говорит что енто в начале все так тяжко и страшно..)) тем более что решение принято) ... пожелайте мне удачи...она мне понадобиться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2004, 10:14 |
|
||
|
|

start [/forum/topic.php?fid=20&tid=1438037]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 258ms |
| total: | 371ms |

| 0 / 0 |
