Я построил сетку в форме C #, которая позволяет мне редактировать базу данных в единой форме. Однако я хочу, чтобы он работал по-другому:
- Когда я дважды щелкаю по строке, открывается ТОЛЬКО конкретная строка с соответствующими столбцами в одной форме.
- Как только он открывается, я редактирую строку. Сохраняется в базе данных.
Я хочу попытаться сделать следующее:
SELECT ColumnName1, ColumnName2
FROM TableName
WHERE ColumnName1 = @ParameterName
Где имя параметра - это идентификатор, в котором я дважды щелкаю в другой форме. Я пока кладу свою работу:
using DevExpress.XtraEditors;
using DevExpress.XtraGrid;
using DevExpress.XtraGrid.Views.Grid;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace TestInventory
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'prismaWinPosDataSet.Inventory' table. You can move, or remove it, as needed.
this.inventoryTableAdapter.Fill(this.prismaWinPosDataSet.Inventory);
}
private void simpleButton1_Click(object sender, EventArgs e)
{
// inventoryBindingSource.Update(prismaWinPosDataSet,"Inventory");
gridView1.PostEditor(); //save the cell value to a data source
gridView1.UpdateCurrentRow(); //update the row and raise the RowUpdated event
// dbContext
inventoryTableAdapter.Update(this.prismaWinPosDataSet.Inventory);
}
// Правила проверки ячейки
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
// context.SubmitChanges();
}
private void simpleButton3_Click(object sender, EventArgs e)
{
inventoryBindingSource.AddNew();
}
private void simpleButton4_Click(object sender, EventArgs e)
{
if (XtraMessageBox.Show("Delete?", "Message",MessageBoxButtons.YesNo, MessageBoxIcon.Question)==DialogResult.Yes);
inventoryBindingSource.RemoveCurrent();
}
private void gridView1_DoubleClick(object sender, EventArgs e)
{
// int invID = gridView1.GetRow;
Form2 frm = new Form2(2);
frm.ShowDialog();
}
private void fillByToolStripButton_Click(object sender, EventArgs e)
{
}
}
}
Одна форма работает нормально, обновляется в базе данных.
Окно сообщения "ОК", потому что я не смог подключить его к запросу во второй форме.