powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / метод для Copy/Paste
2 сообщений из 2, страница 1 из 1
метод для Copy/Paste
    #38818153
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скажите пожалуйста, есть такой метод, для вставки в грид (devexpress) данных из буффера. Несколько строк и несколько столбцов.
Все работает ОК, только после того как он вставил данные, в конце он добавляет еще строку с первым значением из массива.
Типа: "ваш скрипт отработал - дай теперь я стандартным способом вставлю....". Но вставить он может только первую строку.


автор
Код: 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.
        public static void PasteTable(GridView gridView)
        {
            gridView.ClearSorting();
            int originalFocusedVisibleColIndex = gridView.FocusedColumn.VisibleIndex;
            string[] clipboardTextLines = XtraGridHelper.ClipboardTextLines;

            // paste data from clipboard into row cells
            foreach (string line in clipboardTextLines)
            {
                if (line != string.Empty)
                {
                    string[] lineFragments = line.Split('\t');
                    foreach (string lineFragment in lineFragments)
                    {
                        // 'paste' in new value
                        gridView.ShowEditor();
                        if (gridView.ActiveEditor != null)
                        {
                            gridView.ActiveEditor.Text = lineFragment.Trim();
                            gridView.CloseEditor();
                        }

                        // move to next visible column if next visible column exists
                        if (gridView.FocusedColumn.VisibleIndex < gridView.VisibleColumns.Count - 1)
                        {
                            gridView.FocusedColumn = gridView.VisibleColumns[gridView.FocusedColumn.VisibleIndex + 1];
                        }
                        else
                        {
                            break; //stop 'pasting' in focused row
                        }

                        
                    }
                    // move to next row
                    if (gridView.FocusedRowHandle < gridView.RowCount - 1)
                    {
                        gridView.MoveNext();
                        gridView.FocusedColumn = gridView.VisibleColumns[originalFocusedVisibleColIndex];
                    }
                    else
                    {
                        break; //stop 'pasting' in the grid
                       
                    }

                   
                }
            }
        }




Как научить его не вставлять свою последнюю строку?


Заранее благодарен.
...
Рейтинг: 0 / 0
метод для Copy/Paste
    #38825887
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vah,

пришлось сделать такой костылище

автор
Код: plaintext
1.
                XtraGridHelper.PasteTable(gridViewKomplekt);
                SendKeys.Send("{Esc}");
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / метод для Copy/Paste
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]