|
0 / 0 / 0
Регистрация: 06.03.2022
Сообщений: 7
|
|
Нужно вывести несколько таблиц и переназначить на них кнопки06.03.2022, 22:49. Показов 709. Ответов 6
Метки нет (Все метки)
Есть бд в которой несколько таблиц, нужно что-бы при выборе таблицы в comboBox она выводилась и редактировать можно было уже её, а не с прошлую. Я не очень понимаю как это реализовать
0
|
|
| 06.03.2022, 22:49 | |
|
Ответы с готовыми решениями:
6
Нужно вывести несколько таблиц и переназначить на них кнопки
Вывести самое короткое слово в предложении. Если таких слов несколько, то вывести последнее из них |
|
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
|
|
| 06.03.2022, 22:57 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 06.03.2022
Сообщений: 7
|
|
| 07.03.2022, 15:33 [ТС] | |
|
Как вывести я знаю, но как сделать чтобы кнопки редактировали уже другую таблицу, а не прошлую? Мне нужно создавать просто много кнопок или есть возможность использовать одну и ту же под разные задачи? А ещё я не знаю как быть с событиями, ведь они у меня прописаны под 1 таблицу, а нужно чтобы они подстраивались под ту что выводится. Это вообще возможно сделать или нужно под каждую таблицу делать отдельную форму?
0
|
|
|
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
|
|
| 07.03.2022, 15:36 | |
|
Kjel, там готовое решение. Какие кнопки и каким образом Вы привязываете к таблице? Кнопка должна лишь выполнять определенный функционал.
0
|
|
|
0 / 0 / 0
Регистрация: 06.03.2022
Сообщений: 7
|
|
| 07.03.2022, 23:12 [ТС] | |
|
Знаю, я умел ввиду, что при нажатии кнопка редактирует выведенную на экран таблицу, вывелась другая значит кнопка редактирует уже её
Добавлено через 4 минуты Думаю с кодом будет понятнее. Нужно что бы всё это подстраивалось под выведенную таблицу, извини если что говорю не понятно, просто сам не очень разбираюсь using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Npgsql; using NpgsqlTypes; namespace Forms { public partial class Show : Form { private NpgsqlCommand cmd; private NpgsqlCommandBuilder cmdBuilder; private NpgsqlConnection conn; private NpgsqlDataAdapter dataAdapter; private DataSet dataSet = null; private bool newRowAdding = false; public string connectionString = String.Format(@"Server = localhost, 5432; User Id= postgres; Password = qwerty; Database= LogPas"); public Show() { InitializeComponent(); } private void Show_Load(object sender, EventArgs e) { conn = new NpgsqlConnection(connectionString); conn.Open(); LoadData(); this.dataGridView1.Columns[0].Visible = false; this.BackColor = Color.FromArgb(18, 18, 18); } private void LoadData() { try { dataAdapter = new NpgsqlDataAdapter("SELECT *, 'Delete' as Command FROM tbl_users", conn); cmdBuilder = new NpgsqlCommandBuilder(dataAdapter); cmdBuilder.GetInsertCommand(); cmdBuilder.GetUpdateCommand(); cmdBuilder.GetDeleteCommand(); dataSet = new DataSet(); dataAdapter.Fill(dataSet, "tbl_users"); dataGridView1.DataSource = dataSet.Tables["tbl_users"]; } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void ReloadData() { try { dataSet.Tables["tbl_users"].Clear(); dataAdapter.Fill(dataSet, "tbl_users"); dataGridView1.DataSource = dataSet.Tables["tbl_users"]; } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void checkedListBox1_SelectedIndexChanged(obj ect sender, EventArgs e) { } private void textBox3_TextChanged(object sender, EventArgs e) { } private void button4_Click(object sender, EventArgs e) { } private void button5_Click(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { } private void pictureBox1_Click(object sender, EventArgs e) { } private void button2_Click(object sender, EventArgs e) { } private void pictureBox1_Click_1(object sender, EventArgs e) { } private void button3_Click_1(object sender, EventArgs e) { Application.Exit(); } private void pictureBox7_Click(object sender, EventArgs e) { } private void pictureBox4_Click(object sender, EventArgs e) { } private void pictureBox8_Click(object sender, EventArgs e) { } private void pictureBox9_Click(object sender, EventArgs e) { } private void pictureBox5_Click(object sender, EventArgs e) { } private void pictureBox2_Click(object sender, EventArgs e) { } private void pictureBox10_Click(object sender, EventArgs e) { } private void button5_MouseHover(object sender, EventArgs e) { } private void button1_MouseHover(object sender, EventArgs e) { } private void toolTip1_Popup(object sender, PopupEventArgs e) { } private void button4_MouseHover(object sender, EventArgs e) { } private void button3_MouseHover(object sender, EventArgs e) { } private void textBox1_MouseHover(object sender, EventArgs e) { } private void textBox2_MouseHover(object sender, EventArgs e) { } private void button5_Click_1(object sender, EventArgs e) { } private void label1_Click(object sender, EventArgs e) { } private void textBox1_TextChanged(object sender, EventArgs e) { } private void label1_Click_1(object sender, EventArgs e) { } private void textBox1_TextChanged_1(object sender, EventArgs e) { } private void label1_Click_2(object sender, EventArgs e) { } private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { try { if (e.ColumnIndex==4) { string task = dataGridView1.Rows[e.RowIndex].Cells[4].Value.ToString(); if (task=="Delete") { if (MessageBox.Show("Удалить?", "Удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Question)==DialogResult.Y es) { int rowIndex = e.RowIndex; dataGridView1.Rows.RemoveAt(rowIndex); dataSet.Tables["tbl_users"].Rows[rowIndex].Delete(); dataAdapter.Update(dataSet, "tbl_users"); } } else if (task=="Insert") { try { int rowIndex = dataGridView1.Rows.Count-2; DataRow row = dataSet.Tables["tbl_users"].NewRow(); row["username"] = dataGridView1.Rows[rowIndex].Cells["username"].Value; row["password"] = dataGridView1.Rows[rowIndex].Cells["password"].Value; row["email"] = dataGridView1.Rows[rowIndex].Cells["email"].Value; dataSet.Tables["tbl_users"].Rows.Add(row); dataSet.Tables["tbl_users"].Rows.RemoveAt(dataSet.Tables["tbl_users"].Rows.Count-1); dataGridView1.Rows.RemoveAt(dataGridView 1.Rows.Count-2); dataGridView1.Rows[e.RowIndex].Cells[4].Value = "Delete"; dataAdapter.Update(dataSet, "tbl_users"); newRowAdding = false; } catch { newRowAdding=false; MessageBox.Show("Заполните все поля", "Ошибка ввода данных", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else if (task=="Update") { int r = e.RowIndex; dataSet.Tables["tbl_users"].Rows[r]["username"]=dataGridView1.Rows[r].Cells["username"].Value; dataSet.Tables["tbl_users"].Rows[r]["password"]=dataGridView1.Rows[r].Cells["password"].Value; dataSet.Tables["tbl_users"].Rows[r]["email"]=dataGridView1.Rows[r].Cells["email"].Value; dataAdapter.Update(dataSet, "tbl_users"); dataGridView1.Rows[e.RowIndex].Cells[4].Value = "Delete"; } ReloadData(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void dataGridView1_UserAddedRow(object sender, DataGridViewRowEventArgs e) { try { if (newRowAdding ==false) { newRowAdding=true; int lastRow = dataGridView1.Rows.Count-2; DataGridViewRow row = dataGridView1.Rows[lastRow]; DataGridViewLinkCell linkCell = new DataGridViewLinkCell(); row.Cells["Command"].Value = "Insert"; } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { try { if (newRowAdding==false) { int rowIndex = dataGridView1.SelectedCells[0].RowIndex; DataGridViewRow editingRow = dataGridView1.Rows[rowIndex]; DataGridViewLinkCell linkCell = new DataGridViewLinkCell(); editingRow.Cells["Command"].Value = "Update"; } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void dataGridView1_EditingControlShowing(obje ct sender, DataGridViewEditingControlShowingEventAr gs e) { } } }
0
|
|
|
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
|
|
| 08.03.2022, 10:07 | |
|
Kjel, Как в от этот серпантин читать? Для вставки кода есть специальный тег.
0
|
|
|
0 / 0 / 0
Регистрация: 06.03.2022
Сообщений: 7
|
||||||
| 08.03.2022, 15:08 [ТС] | ||||||
0
|
||||||
| 08.03.2022, 15:08 | |
|
Помогаю со студенческими работами здесь
7
Вывести самое короткое слово в предложении, если таких слов несколько, то вывести последнее из них Вывести самое короткое (длинное) слово в предложении (если таких слов несколько, то вывести первое из них)
Rapoo переназначить кнопки
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
|
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
На примере нетипового документа разработанного в конфигурации КА2.
В качестве источника данных указан регистр накопления, в который записываются данные о. . .
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|