20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
1
.NET 4.x

Как выделенную строку из datagridview сохранить в файл?

12.11.2019, 00:57. Показов 2573. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
как выделенную строку из datagridview сохранить в файл
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.11.2019, 00:57
Ответы с готовыми решениями:

Как сделать выделенную строку в DataGridView текущей
Есть грид, мышкой выбираем например, 7-ю строчку и например по нажатию Button выполняется...

Как преобразовать выделенную строку в dataGridView в объект
Допустим в качестве DataSource у dataGridView был установлен список List<MyClass> list; ...

Не могу отредактировать выделенную строку в DataGridView
У меня есть приложение, в ней DataGridView выводит данные, из отдельного окна с combox-ами,...

Как изменить выделенную строку в listbox, переименовав при этом файл
в listbox список файлов, как переименовать выделенный

7
28 / 13 / 8
Регистрация: 19.11.2015
Сообщений: 129
12.11.2019, 09:20 2
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
//формируем контекстное меню
void DataGridView_listMouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                int currentMouseOverRow = dataGridView_list.HitTest(e.X,e.Y).RowIndex;
                if ((currentMouseOverRow >= 0) && (currentMouseOverRow != dataGridView_list.Rows.Count-1))
                {
                    ContextMenu m = new ContextMenu();
                    m.MenuItems.Add("Copy (to EXCEL)", copy_player_excel);
                    m.MenuItems.Add("Copy (to NotePad)", copy_player_notepad);
                    m.MenuItems.Add("Add", add_player);
                    m.MenuItems.Add("Delete", delete_player);
                    for (int i=0;i<dataGridView_list.Rows.Count;i++) {dataGridView_list.Rows[i].Selected = false;}
                    dataGridView_list.Rows[currentMouseOverRow].Selected = true;
                    m.Show(dataGridView_list, new Point(e.X, e.Y));
                        }
            }
        }
 
 
private void copy_player_notepad(object sender, EventArgs e)
        {
            Int32 rowToCopy = dataGridView_list.Rows.GetFirstRow(DataGridViewElementStates.Selected);
            string _ico = "";
            string _rate = "";
            string _linq = "";
            string _name = "";
            _ico = dataGridView_list.Rows[rowToCopy].Cells[0].Value.ToString();
            _rate = dataGridView_list.Rows[rowToCopy].Cells[1].Value.ToString();
            _linq = dataGridView_list.Rows[rowToCopy].Cells[2].Value.ToString();
            _name = dataGridView_list.Rows[rowToCopy].Cells[3].Value.ToString();
            string a = String.Format("{0}; {1}; {2}; {3}\r\n", _ico, _rate, _linq, _name);
            Clipboard.SetText(a);
Это рабочая версия. По аналогии сделаешь?
Ну и StreamReader и StreamWriter никто не отменял или:
File. WriteAllText("D:\\new_file.txt", "текст");
0
Заблокирован
12.11.2019, 10:41 3
NikolaSN, Как сохранять в txt файл ?

Добавлено через 1 минуту
Что за процедура private void copy_player_notepad(object sender, EventArgs e) ?
0
28 / 13 / 8
Регистрация: 19.11.2015
Сообщений: 129
12.11.2019, 10:48 4
Nikita1232,
это процедура, которая отрабатывает по событию контекстного меню: "копировать"
Копирует выделенную строчку в буфер обмена в нужном мне формате, т.е. через ";".

Добавлено через 2 минуты
Nikita1232,
Цитата Сообщение от Nikita1232 Посмотреть сообщение
NikolaSN, Как сохранять в txt файл ?
File. WriteAllText("D:\\new_file.txt", "текст");
или
есть удобный ресурс по работе с чтением/записи string в файл с примерами.
0
Заблокирован
12.11.2019, 10:54 5
Ругается говарит что индекс за приделами деапазона что делать ?
rate = dataGridView2.Rows[rowToCopy].Cells[1].Value.ToString();

Добавлено через 1 минуту
NikolaSN, а как это сделать не через контекстное меню а при нажатий на кнопку
0
28 / 13 / 8
Регистрация: 19.11.2015
Сообщений: 129
12.11.2019, 11:24 6
Цитата Сообщение от Nikita1232 Посмотреть сообщение
NikolaSN, а как это сделать не через контекстное меню а при нажатий на кнопку
Nikita1232,

Повесь событие на форму, а внутри это:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private void dtgProgram_KeyDown(object sender, KeyEventArgs e)
        {
            test += "key: " + e.KeyCode + " modiffiers: " + e.Modifiers;
 
            if (e.KeyCode == Keys.C && e.Modifiers == Keys.Control)
            {
 
                //само копирование ячейки
                Int32 rowToCopy = dataGridView_attakers.Rows.GetFirstRow(DataGridViewElementStates.Selected);
                 string a = String.Format("Player {0} is {1} and he(she) can take {2} castles, {3} forntess and {4} city\r\n", _name, _is_activ, _castle, _fortness, _city);
                Clipboard.SetText(a);
 
            }
        }
Пы.Сы.
!!! Нужно событие именно KeyEventArgs, а не KeyPressEventArgs
0
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
12.11.2019, 11:40  [ТС] 7
А если я в datagridview выделил несколько строк то почему он из всех строк копирует одну строку только ?

Добавлено через 21 секунду
NikolaSN, А если я в datagridview выделил несколько строк то почему он из всех строк копирует одну строку только ?
0
28 / 13 / 8
Регистрация: 19.11.2015
Сообщений: 129
12.11.2019, 14:05 8
Цитата Сообщение от Nikita110001 Посмотреть сообщение
почему он из всех строк копирует одну строку только ?
Ибо в коде написано:
Rows.GetFirstRow(DataGridViewElementStates.Selected);
берем ПЕРВУЮ строчку (GetFirstRow), удовлетворяющую Заданному критерию, т.е. DataGridViewElementStates.Selected

вариантов много:
1.Можешь циклом по каждой строчке пройтись и проверить на условие, а дальше в string начитать всё что угодно по типу: s=s+"что_что_надо",
2. или проще:
C#
1
2
foreach (DataGridViewRow row in dataGridView_list.SelectedRows)
            {a="";}
0
12.11.2019, 14:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.11.2019, 14:05
Помогаю со студенческими работами здесь

Как сохранить новую строку DataGridView в БД?
Помогите у меня есть скрипт который вывод в datagridview данные из бд а как мне сделать чтобы они...

Как правильно сохранить из DataGridView в файл
Имеется DataGridView который отображает рейсы .Мне необходимо при нажатии кнопки Сохранить записать...

Как обновить/изменить строку в datagridview и сохранить эти изменения в txt файле?
Заранее спасибо.

Как в datagridview открыть Excel файл? И сохранить его
Как в datagridview c# открыть Excel файл? И сохранить.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru