С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
8 / 8 / 6
Регистрация: 25.12.2013
Сообщений: 192
.NET 4.x

Вывод результата тестирования

02.03.2014, 13:38. Показов 1844. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создал ПО для тестирования. В ней результат записывается в dataGridView по столбцам типа: Номер вопроса|Вопрос|Вариант ответа1|Вариант ответа2|Вариант ответа2|Правильный ответ|Выбран ответ|. Стала задача выводом этой информации на печать(для ознакомления). Для этого создал шаблон Word, где для каждого вопроса создал закладки соответствующие одной строке dataGridView. Вот так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
oDoc.Bookmarks["номер1"].Range.Text = dataGridView1.Rows[0].Cells[0].Value.ToString();
                oDoc.Bookmarks["Вопрос1"].Range.Text = dataGridView1.Rows[0].Cells[1].Value.ToString();
                oDoc.Bookmarks["Ответ1_1"].Range.Text = dataGridView1.Rows[0].Cells[2].Value.ToString();
                oDoc.Bookmarks["Ответ1_2"].Range.Text = dataGridView1.Rows[0].Cells[3].Value.ToString();
                oDoc.Bookmarks["Ответ1_3"].Range.Text = dataGridView1.Rows[0].Cells[4].Value.ToString();
                oDoc.Bookmarks["Прав1"].Range.Text = dataGridView1.Rows[0].Cells[5].Value.ToString();
                oDoc.Bookmarks["Ответ1"].Range.Text = dataGridView1.Rows[0].Cells[6].Value.ToString();
 
                oDoc.Bookmarks["номер2"].Range.Text = dataGridView1.Rows[1].Cells[0].Value.ToString();
                oDoc.Bookmarks["Вопрос2"].Range.Text = dataGridView1.Rows[1].Cells[1].Value.ToString();
                oDoc.Bookmarks["Ответ2_1"].Range.Text = dataGridView1.Rows[1].Cells[2].Value.ToString();
                oDoc.Bookmarks["Ответ2_2"].Range.Text = dataGridView1.Rows[1].Cells[3].Value.ToString();
                oDoc.Bookmarks["Ответ2_3"].Range.Text = dataGridView1.Rows[1].Cells[4].Value.ToString();
                oDoc.Bookmarks["Прав2"].Range.Text = dataGridView1.Rows[1].Cells[5].Value.ToString();
                oDoc.Bookmarks["Ответ2"].Range.Text = dataGridView1.Rows[1].Cells[6].Value.ToString();
Подскажите пожалуйста может есть проще вариант, а то для 50 вопросов муторно создавать шаблон(в мелочевке легко ошибиться)
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.03.2014, 13:38
Ответы с готовыми решениями:

Реализовать проверку правильности результата после завершения тестирования
Здравствуйте, есть программа-оболочка связанная с БД (SQLite), не могу додумать как реализовать проверку правильности результата после...

Вывод новых вопросов в Label в программе тестирования
Здравствуйте, подскажите как реализовать обработку label. Я хотел бы чтобы при нажатий кнопки (Button) выводились следующие вопросы...

Вывод результата в окне
вопрос№1 как что я делаю не так, вопрос№2 как сделать, чтобы результат выводился в окне result?

6
 Аватар для Монфрид
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,247
02.03.2014, 14:04
вы в datagridview источник данных передаёте типизированный или вручную по Rows заполняете?
если у вас типизированный источник, то я делал через reportViewer. У него встроенная печать
1
Заблокирован
02.03.2014, 14:15
Используйте встроенный генератор отчетов или используйте crystal report
1
8 / 8 / 6
Регистрация: 25.12.2013
Сообщений: 192
02.03.2014, 14:27  [ТС]
Добавляю вручную через Rows. Точно можно ячейки dataGridView передать в некий класс, а от туда в ReportView, а при выходе импортировать dGV. спасибо
0
 Аватар для Монфрид
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,247
02.03.2014, 15:53
Лучший ответ Сообщение было отмечено malta87 как решение

Решение

вручную не очень хорошо rows заполнять. Нужно делать так:
C#
1
grid1.DataSource=myListData;
myListData должен быть типизированной коллекцией, тогда грид автоматически создаст колонки и всё остальное
0
8 / 8 / 6
Регистрация: 25.12.2013
Сообщений: 192
03.03.2014, 19:41  [ТС]
Цитата Сообщение от Монфрид Посмотреть сообщение
вручную не очень хорошо rows заполнять. Нужно делать так: Код C#1
grid1.DataSource=myListData;myListData должен быть типизированной коллекцией, тогда грид автоматически создаст колонки и всё остальное
Можно примерчик, как так добавлять
0
 Аватар для Монфрид
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,247
03.03.2014, 20:44
я не знаю что у вас за данные там хранятся.
Во-первых, нужно создать класс, который будет характеризовать ваши данные.
Допустим, если у вас данные о человеке, то класс будет таким:
C#
1
2
3
4
5
public class Person
{
  public string Name {get;set;}
  public int Age{get;set;}
}
дальше вам нужно занести данные в типизированную коллекцию:
C#
1
2
3
List<Person> persons=new List<Person>();
persons.Add(new Person(){Name="Ivan",Age=45});
persons.Add(new Person(){Name="Petr",Age=25});
потом задать источник данных для грида:
C#
1
grid.DataSource=persons;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.03.2014, 20:44
Помогаю со студенческими работами здесь

Вывод результата в textbox
Народ такой вопрос есть два maskedTextBox'a (в которых указывается дата) и два textbox(в которых будут любые числа) и еще один просто...

Вывод результата в конце теста
Помогите пожалуйста, пишу тест, для вариантов ответа использую радио баттоны. Чтобы результат вывести в конце использовала счетчик result...

Вывод результата в другой форме
Задание: сделать программу перемножения\сложения\вычитания 2-х матриц... бла-бла-бла... Результат вывести на экран в другой форме. Мои...

Вывод результата в TextBox из стека
Доброго времени суток, такой вопрос, есть 3 стека, в первый заносятся значения с клавиатуры, эти значения делятся на чётные и не чётные и...

Вывод результата работы CMD
Вот часть кода Process p = new Process(); p.StartInfo.UseShellExecute = false; ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru