จะยกตัวอย่างเป็น FrameCode ไว้นะคะ
ใน code ที่ยกมามี Form1 เป็น Main form
ซึ่ง datagrid จะอยู่ที่นี่
ส่วน formDialoque เป็น window form ที่เปลี่ยนเป็น dialog ค่ะ
ลองแก้ดูนะคะ คงไม่เขียนมากไปกว่านี้แล้วนะคะ ^ ^
FORM1(MAIN)
Code (C#)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void buttonCallDialoqueLuvLuv_Click(object sender, EventArgs e)
{
if (((new formDialoque()).ShowDialog()) == DialogResult.OK)
{
MessageBox.Show("ผม ok นะคัฟเจ้านาย");
//myGridSource.DataSource = FunctionReBindData();
}
}
}
}
FORMDIALOQUE Code (C#)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class formDialoque : Form
{
public formDialoque()
{
InitializeComponent();
}
private void formDialoque_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.OK;
//this.Close();
}
private void buttonCancel_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.Cancel;
}
}
}
Private Sub ReadData()
Dim sql As String = "select id_main,date_main,incexp,namelist,money_inc,money_exp,money_total,dep from Query1"
_cmd = New OleDbCommand(sql, _conn)
Dim adapter As New OleDbDataAdapter(_cmd)
_dataset = New DataSet 'ประการ dataset
adapter.Fill(_dataset, "showmain")
Me.DataGridView1.DataSource = _dataset.Tables("showmain")
End Sub
Private Sub bt_add_Click(sender As Object, e As EventArgs) Handles bt_add.Click
Dim numrow As Integer
Dim Sql1 = "select count(*) from Query1"
_cmd = New OleDbCommand(Sql1, _conn)
numrow = _cmd.ExecuteScalar()
If numrow = 0 Then
If Me.rd_inc.Checked = False And Me.rd_exp.Checked = False Then
MsgBox("กรุณาเลือกรายรับหรือรายจ่าย")
Return
End If
If Me.cb_list.SelectedValue = "1" Then
MsgBox("กรุณาเลือกรายการ")
Return
End If
If Me.txt_money.Text = "" Then
MsgBox("กรุณาระบุจำนวนเงิน")
Return
End If
Dim s As Boolean
If Me.rd_inc.Checked = True Then
s = True
End If
If Me.rd_exp.Checked = True Then
s = False
End If
Dim inc, exp, moneylast As Integer
If Me.rd_inc.Checked = True Then
inc = Me.txt_money.Text
exp = "0"
moneylast = Me.txt_money.Text
End If
If Me.rd_exp.Checked = True Then
inc = "0"
exp = Me.txt_money.Text
moneylast = Me.txt_money.Text
End If
Try
Dim sql As String = "insert into Query1(date_main,incexp,id_list,money_inc,money_exp,money_total,dep)values(@date_main,@incexp,@id_list,@money_inc,@money_exp,@money_total,@dep)"
_cmd = New OleDbCommand(sql, _conn)
_cmd.Parameters.AddWithValue("date_main", Me.dtp_date.Value)
_cmd.Parameters.AddWithValue("incexp", s)
_cmd.Parameters.AddWithValue("id_list", Me.cb_list.SelectedValue)
_cmd.Parameters.AddWithValue("money_inc", inc)
_cmd.Parameters.AddWithValue("money_exp", exp)
_cmd.Parameters.AddWithValue("money_total", moneylast)
_cmd.Parameters.AddWithValue("dep", Me.txt_dep.Text)
_cmd.ExecuteNonQuery()
MsgBox("บันทึกข้อมูลเรียบร้อย")
_dataset.Clear() ' เครียดาต้าเซต
ReadData() 'โหลดใหม่
showlist()
ClearText()
Readmoneytotal()
Return
Catch ex As Exception
MsgBox("ไม่สามารถบันทึกข้อมูลได้")
End Try