テーブル名が「Product_Master」で、列ヘッダーが「ProductID、ProductCode、ProductName、ProductDescription、LandingPrice、SellingPrice、Stock、ProductCategory」のデータベースがあります。
wpf ウィンドウにデータグリッドがあります。
データベースからのすべての値をデータグリッドに入力できます。
コードは以下です。
SqlCeCommand com = new SqlCeCommand("SELECT ProductCode FROM Products_Master WHERE ProductName =('" + txtAutoProductName.Text + "') OR ProductCode = ('" + txtProductCode.Text + "')", con);
try
{
SqlCeDataAdapter da = new SqlCeDataAdapter();
da.SelectCommand = com;
DataTable dt = new DataTable();
da.Fill(dt);
BindingSource bSource = new BindingSource();
bSource.DataSource = dt;
dgrdBilling.ItemsSource = bSource;
da.Update(dt);
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message, System.Windows.Forms.Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
データグリッドを列名「Number、ProductCode、ProductName、Quantity、Tax、Total」でカスタマイズし、異なるテーブルから個々の値を追加したいと考えています。
同じことをする方法。
以下に追加
private void txtAutoProductName_TextChanged(object sender, EventArgs e)
{
SqlCeCommand com = new SqlCeCommand("SELECT * FROM Products_Master WHERE ProductName =('" + txtAutoProductName.Text + "') OR ProductCode = ('" + txtProductCode.Text + "')", con);
try
{
SqlCeDataAdapter da = new SqlCeDataAdapter();
BindingSource bSource = new BindingSource();
DataTable dt = new DataTable();
DataRow newRow = dt.NewRow();
da.SelectCommand = com;
da.Fill(dt);
bSource.DataSource = dt;
//dgrdBilling.ItemsSource = bSource;
dgrdBilling.ItemsSource = dt.DefaultView;
//dgrdBilling.Items.Add(bSource);
da.Update(dt);
newRow["ProductName"] = txtAutoProductName.Text;
newRow["ProductCode"] = bSource;
dt.Rows.Add(newRow);
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message, System.Windows.Forms.Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}