จะสร้างค่า Textbox จาก Form1 แล้วเรียกค่า Textbox จากอีกฟอร์มยังไงครับ C#
เอาคร่าวๆ ล่ะกัน
Event DoubleClick ของ DataGridView ของ Form2
Me.DialogResult = DialogResult.OK
Me.Close()
สร้างปุ่มที่ Form1 และเขียนโค้ดที่ Event Click
Event Click ของปุ่มที่ Form1
Dim frm As New Form2
' ข้างล่างนี้ต้องเป็น ShowDialog เท่านั้น ห้ามใช้ frm.Show
If frm.ShowDialog() = DialogResult.OK Then
txt_Committee.Text = frm.DataGridView1.CurrentRow("CommitteeId")
txt_CommitteeName.Text = frm.DataGridView1.CurrentRow("CommitteeName")
End If
อะไรทำนองนี้แหละ
ประวัติการแก้ไข 2012-09-06 09:44:03
Date :
2012-09-06 09:43:27
By :
watcharop
เด๋วผมลองทำตามที่พี่แนะนำก่อนครับ เด๋วถ้ามีปัญหาจะเอามาถามใหม่นะครับ ^ ^
Date :
2012-09-06 11:34:39
By :
Littlefatboyz
แก้ไข
เพิ่ม DataBoundItem
Event Click ของปุ่มที่ Form1
Dim frm As New Form2
' ข้างล่างนี้ต้องเป็น ShowDialog เท่านั้น ห้ามใช้ frm.Show
If frm.ShowDialog() = DialogResult.OK Then
txt_Committee.Text = frm.DataGridView1.CurrentRow.DataBoundItem("CommitteeId").ToString
txt_CommitteeName.Text = frm.DataGridView1.CurrentRow.DataBoundItem("CommitteeName").ToString
End If
ประวัติการแก้ไข 2012-09-06 12:44:03
Date :
2012-09-06 12:43:35
By :
watcharop
Form 1 : หลังค่า DataboundItem คือค่าที่ส่งไป Form 2 หรอ ครับ แล้วเวลา
Form 2 : ใช้งานมันจะมี datagrid ที่เป็นฐานข้อมูลคนละตัวแต่จะนำมาใช้ใน Form1 ทีมี textbox รอรับยุครับ
ปล. พอเพิ่มได้ไหมครับพี่หางอึ่ง ผมตันไปหมดแล้วครับ
Date :
2012-09-06 15:37:08
By :
Littlefatboyz
อันนี้ของForm1 ครับ
Code (C#)
#region tsb_Search ปุ่มค้นหาหนังสือเบิกจ่าย
private void tsb_SearchDis_Click(object sender, EventArgs e)
{
RequitionForm RequitFrom = new RequitionForm();
if (RequitFrom.ShowDialog() == DialogResult.OK)
{
txt_ProjKey.Text = RequitFrom.Datagridview_DGV_Requit. //มันไม่มีobject ต่อท้ายเรยครับ ไม่มีให้เรียกใช้เหมือนพี่หางอึ่งเรย
}
}
#endregion
อันนี้ของ Form2 ครับ
Code (C#)
private void _DGV_RequitLe_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
DialogResult = DialogResult.OK;
}
มันไม่มี object ให้เรียกใช้ต่อเลยครับ ต้องมีการประกาศอะไรก่อนหรือป่าวครับ
Date :
2012-09-06 16:00:50
By :
Littlefatboyz
กรรม
1. DataGridView ของ RequitionForm ชื่อว่าอะไร คงไม่ใช่ "Datagridview_DGV_Requit" กระมัง
2. รู้จัก this ไหมครับ this ของ C# ก็คือ Me ของ VB
3. frm.DataGridView1.CurrentRow.DataBoundItem("CommitteeId").ToString
"CommitteeId" ในที่นี้คือชื่อฟิล์ดของตารางในฐานข้อมูล มิใช่ชื่อ Column ของ DataGridView
ประวัติการแก้ไข 2012-09-06 17:03:59 2012-09-06 17:07:12
Date :
2012-09-06 17:03:03
By :
watcharop
CurrentRow.DataBoundItem("CommitteeId").ToString
ผมเปลี่ยนให้เรียกใช้แล้วครับ เป็น Public ครับ ชื่อ _DGV_Requit(); ครับ แต่ทำไมมันไม่ขึ้นเรยครับต้องประกาศเรียกใช้อะไรหรือป่าวครับ พี่หางอึ่งแนะนำทีครับ
Date :
2012-09-07 08:40:39
By :
Littlefatboyz
ส่วนของ DisbursedForm
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;
using System.Configuration;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using System.IO;
namespace Disbursed
{
public partial class Form1 : Form
{
//Variable Type or new object
SqlConnection conn = new SqlConnection();
SqlConnection connSvl = new SqlConnection();
DataSet ds = new DataSet();
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//เรียกใช้ Method และ สามารถสร้างคำสั่งอื่นๆ ลงไปได้ใน Form_Load จะทำงานในอันดับแรก
Datagridview_DGV_Dis();
FormatDGV_Dis();
txt_CommitReqKey.Enabled = false;
EnableAllF();
}
#region Datagridview_DGV_Dis
//Create New Method form Datagridview
private void Datagridview_DGV_Dis()
{
//Connecting your database = App.config("AppName")
ConnectionStringSettings conSettings = ConfigurationManager.ConnectionStrings["ApplicationDatabase"];
string ConnectionStrings = conSettings.ConnectionString;
conn = new SqlConnection(ConnectionStrings);
conn.Open();
SqlDataAdapter da = new SqlDataAdapter("Select * from CommiteeReq", conn);
ds.Clear();
da.Fill(ds, "CommiteeReq");
_DGV_Dis.DataSource = ds.Tables["CommiteeReq"];
conn.Close();
}
#endregion
#region EnableAllT ตั้งค่า Textbox ให้เป็น True ทั้งหมด
private void EnableAllT()
{
txt_DocDate.Enabled = true;
txt_ProjKey.Enabled = true;
txt_ProjCode.Enabled = true;
txt_ProjAlias.Enabled = true;
txt_ProjName.Enabled = true;
txt_ContractID.Enabled = true;
txt_ContractDate.Enabled = true;
txt_CustomerKey.Enabled = true;
txt_CustomerName.Enabled = true;
txt_ContractAmt.Enabled = true;
txt_ContractTax.Enabled = true;
txt_ContractVat.Enabled = true;
txt_ContractTaxPer.Enabled = true;
txt_ReqNote.Enabled = true;
txt_ReqValPer.Enabled = true;
txt_ReqVal.Enabled = true;
txt_NetReqVal.Enabled = true;
txt_DiscNote.Enabled = true;
txt_DiscValue.Enabled = true;
txt_NetTotal.Enabled = true;
txt_Note.Enabled = true;
bt_VatTax.Enabled = true;
bt_Total.Enabled = true;
}
#endregion
#region EnableAllF ตั้งค่า Textbox ให้เป็น False ทั้งหมด
private void EnableAllF()
{
txt_DocDate.Enabled = false;
txt_ProjKey.Enabled = false;
txt_ProjCode.Enabled = false;
txt_ProjAlias.Enabled = false;
txt_ProjName.Enabled = false;
txt_ContractID.Enabled = false;
txt_ContractDate.Enabled = false;
txt_CustomerKey.Enabled = false;
txt_CustomerName.Enabled = false;
txt_ContractAmt.Enabled = false;
txt_ContractTax.Enabled = false;
txt_ContractVat.Enabled = false;
txt_ContractTaxPer.Enabled = false;
txt_ReqNote.Enabled = false;
txt_ReqValPer.Enabled = false;
txt_ReqVal.Enabled = false;
txt_NetReqVal.Enabled = false;
txt_DiscNote.Enabled = false;
txt_DiscValue.Enabled = false;
txt_NetTotal.Enabled = false;
txt_Note.Enabled = false;
bt_VatTax.Enabled = false;
bt_Total.Enabled = false;
}
#endregion
#region FormatDGV_Dis
//Fommat Design Datagridview
private void FormatDGV_Dis()
{
string[] header = { "รหัสเบิกจ่าย", "วันที่เอกสาร", "คีย์โครงการ", "รหัสโครงการ", "ชื่อเรียกโครงการ", "ชื่อโครงการ", "เลขที่สัญญา", "วันที่สัญญา", "คีย์ลูกค้า", "หน่วยงาน", "ค่างาน", "ค่าภาษีมูลค่าเพิ่ม", "อััตราภาษีณที่จ่าย", "มูลค่าสุทธิ", "รายการเบิก", "มูลค่าการเบิก", "อัตราการเบิก", "ตัดจ่าย", "รายการหัก", "ค่าใช้จ่ายการหัก", "ยอดสุทธิ", "รายละเอียด" };
for (int i = 0; i < header.Length; i++)
{
_DGV_Dis.Columns[i].HeaderText = header[i];
}
_DGV_Dis.RowsDefaultCellStyle.BackColor = Color.White;
_DGV_Dis.AlternatingRowsDefaultCellStyle.BackColor = Color.Orange;
}
#endregion
#region ClearForm
private void ClearForm()
{
txt_CommitReqKey.Clear();
txt_ContractAmt.Clear();
txt_DocDate.Clear();
txt_ProjKey.Clear();
txt_ProjCode.Clear();
txt_ProjAlias.Clear();
txt_ProjName.Clear();
txt_ContractID.Clear();
txt_ContractDate.Clear();
txt_CustomerKey.Clear();
txt_CustomerName.Clear();
txt_ContractAmt.Clear();
txt_ContractVat.Clear();
txt_ContractTax.Clear();
txt_ContractTaxPer.Clear();
txt_ReqNote.Clear();
txt_ReqValPer.Clear();
txt_ReqVal.Clear();
txt_NetReqVal.Clear();
txt_DiscNote.Clear();
txt_DiscValue.Clear();
txt_NetTotal.Clear();
txt_Note.Clear();
}
#endregion
#region bt_VatTax ใช้ในการคำนวณค่าภาษีเบิกจ่าย
private void bt_VatTax_Click(object sender, EventArgs e)
{
// Range 1 Value ค่าของการคำนวณภาษีมูลค่าเพิ่ม+ณที่จ่าย
double Vat = 7;
double ConAmt = double.Parse(txt_ContractAmt.Text);
double ConTax1 = double.Parse(txt_ContractTax.Text);
double ConTax = ConTax1 / 100;
double ConVat = (ConAmt * (Vat/107));
double ConVatTemp = ConAmt - ConVat;
double ConNetPer = (ConAmt - (ConVatTemp * ConTax));
txt_ContractVat.Text = ConVat.ToString("####.00");
txt_ContractTaxPer.Text = ConNetPer.ToString("####.00");
// Range 2 Value ค่าของการตัดจ่าย
double ReqValPer = double.Parse(txt_ReqValPer.Text);
double ConTaxPer = double.Parse(txt_ContractTaxPer.Text);
double ReqValPerTemp = (ReqValPer / 100);
double ReqVal = ConTaxPer * ReqValPerTemp;
txt_ReqVal.Text = ReqVal.ToString("####.00");
}
#endregion
#region bt_Tatal ใช้ในการคำนวณยอดสุทธิ
private void bt_Total_Click(object sender, EventArgs e)
{
// Range 3 Value ค่าของยอดรวมสุทธิ
double NetReqVal = double.Parse(txt_NetReqVal.Text);
double DiscVal = double.Parse(txt_DiscValue.Text);
double NetTotal = NetReqVal - DiscVal;
txt_NetTotal.Text = NetTotal.ToString("####.00");
}
#endregion
#region tsb_SaveDis ปุ่มบันทึกข้อมูล
private void tsb_SaveDis_Click(object sender, EventArgs e)
{
ConnectionStringSettings conSettings = ConfigurationManager.ConnectionStrings["ApplicationDatabase"];
string ConnectionStrings = conSettings.ConnectionString;
try
{
if (txt_ProjKey.Text != "" & txt_ProjCode.Text != "")
{
conn = new SqlConnection(ConnectionStrings);
conn.Open();
cmd = new SqlCommand("INSERT INTO CommiteeReq(DocDT,ProjKey,ProjCode,ProjAlias,ProjName,ContractID,ContractDate,CustomerKey,CustomerName,ContractAmt,ContractVat,ContractTax,ContractTaxPercent,ReqNote,ReqValue,ReqValuePercent,NetReqValue,DiscNote,DiscValue,NetTotal,Note)" +
"VALUES('" + txt_DocDate.Text + "','" + txt_ProjKey.Text + "','" + txt_ProjCode.Text + "','" + txt_ProjAlias.Text + "','" + txt_ProjName.Text + "','" + txt_ContractID.Text + "','" + txt_ContractDate.Text + "','" + txt_CustomerKey.Text + "','" + txt_CustomerName.Text + "','" + txt_ContractAmt.Text + "','" + txt_ContractVat.Text + "','" + txt_ContractTax.Text + "','" + txt_ContractTaxPer.Text + "','" + txt_ReqNote.Text + "','" + txt_ReqVal.Text + "','" + txt_ReqValPer.Text + "','" + txt_NetReqVal.Text + "','" + txt_DiscNote.Text + "','" + txt_DiscValue.Text + "','" + txt_NetTotal.Text + "','" + txt_Note.Text + "')", conn);
cmd.ExecuteNonQuery();
MessageBox.Show("เพิ่มข้อมูลใช่หรือไม่");
ClearForm();
}
}
catch (Exception)
{
MessageBox.Show("เกิดข้อผิดพลาด", "ตรวจสอบข้อมูลผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
conn.Close();
}
EnableAllF();
Datagridview_DGV_Dis();
}
#endregion
#region tsb_Search ปุ่มค้นหาหนังสือเบิกจ่าย
private void tsb_SearchDis_Click(object sender, EventArgs e)
{
RequitionForm RequitFrom = new RequitionForm();
if (RequitFrom.ShowDialog() == DialogResult.OK)
{
//txt_ProjKey.Text = RequitFrom.
}
}
#endregion
#region tsb_Edit ปุ่มแก้ไขข้อมูล
private void tsb_EditDis_Click(object sender, EventArgs e)
{
ConnectionStringSettings conSettings = ConfigurationManager.ConnectionStrings["ApplicationDatabase"];
string ConnectionStrings = conSettings.ConnectionString;
EnableAllT();
try
{
if (txt_CommitReqKey.Text != "" & txt_ProjKey.Text != "")
{
conn = new SqlConnection(ConnectionStrings);
conn.Open();
cmd = new SqlCommand("UPDATE CommiteeReq SET DocDT = @DocDate,ProjKey = @ProjKey,ProjCode = @ProjCode,ProjAlias = @ProjAlias,ProjName = @ProjName,ContractID = @ContractID,ContractDate = @ContractDate,CustomerKey = @CustomerKey,CustomerName = @CustomerName,ContractAmt = @ContractAmt,ContractVat = @ContractVat,ContractTax = @ContractTax,ContractTaxPercent = @ContractTaxPer,ReqNote = @ReqNote,ReqValue = @ReqVal,ReqValuePercent = @ReqValPer,NetReqValue = @NetReqVal,DiscNote = @DiscNote,DiscValue = @DiscVal,NetTotal = @NetTotal,Note = @Note WHERE CommiteeReqKey = @CommiteeReqKey", conn);
cmd.Parameters.AddWithValue("DocDate", txt_DocDate.Text);
cmd.Parameters.AddWithValue("ProjKey", txt_ProjKey.Text);
cmd.Parameters.AddWithValue("ProjCode", txt_ProjCode.Text);
cmd.Parameters.AddWithValue("ProjAlias", txt_ProjAlias.Text);
cmd.Parameters.AddWithValue("ProjName", txt_ProjName.Text);
cmd.Parameters.AddWithValue("ContractID", txt_ContractID.Text);
cmd.Parameters.AddWithValue("ContractDate", txt_ContractDate.Text);
cmd.Parameters.AddWithValue("CustomerKey", txt_CustomerKey.Text);
cmd.Parameters.AddWithValue("CustomerName", txt_CustomerName.Text);
cmd.Parameters.AddWithValue("ContractAmt", txt_ContractAmt.Text);
cmd.Parameters.AddWithValue("ContractVat", txt_ContractVat.Text);
cmd.Parameters.AddWithValue("ContractTax", txt_ContractTax.Text);
cmd.Parameters.AddWithValue("ContractTaxPer", txt_ContractTaxPer.Text);
cmd.Parameters.AddWithValue("ReqNote", txt_ReqNote.Text);
cmd.Parameters.AddWithValue("ReqVal", txt_ReqVal.Text);
cmd.Parameters.AddWithValue("ReqValPer", txt_ReqValPer.Text);
cmd.Parameters.AddWithValue("NetReqVal", txt_NetReqVal.Text);
cmd.Parameters.AddWithValue("DiscNote", txt_DiscNote.Text);
cmd.Parameters.AddWithValue("DiscVal", txt_DiscValue.Text);
cmd.Parameters.AddWithValue("NetTotal", txt_NetTotal.Text);
cmd.Parameters.AddWithValue("Note", txt_Note.Text);
cmd.Parameters.AddWithValue("CommiteeReqKey", txt_CommitReqKey.Text);
int x = cmd.ExecuteNonQuery();
if (x == 1)
{
MessageBox.Show("ปรับปรุงข้อมูลใช่หรือไม่", "ยืนยันการแก้ไขข้อมูล", MessageBoxButtons.OK);
ClearForm();
}
else
{
MessageBox.Show("ไม่สามารถบันทึกข้อมูลได้เนื่องจาก ค่าข้อมูลบ้างตัวเปลี่ยนแปลไม่ได้");
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
}
EnableAllF();
Datagridview_DGV_Dis();
}
#endregion
#region tsb_DelDis ปุ่มลบข้อมูล
private void tsb_DelDis_Click(object sender, EventArgs e)
{
ConnectionStringSettings conSettings = ConfigurationManager.ConnectionStrings["ApplicationDatabase"];
string ConnectionStrings = conSettings.ConnectionString;
try
{
if (txt_CommitReqKey.Text != "" & txt_ProjKey.Text != "")
{
int CommiteeReqKey = Convert.ToInt32(txt_CommitReqKey.Text);
conn = new SqlConnection(ConnectionStrings);
conn.Open();
cmd = new SqlCommand("DELETE FROM CommiteeReq WHERE CommiteeReqKey = " + CommiteeReqKey, conn);
int x = cmd.ExecuteNonQuery();
if (x == -1)
{
MessageBox.Show("เกิดข้อผิดพลาดในการลบข้อมูล กรุณาตรวจสอบในการทำงานอีกครั้ง");
}
else
{
MessageBox.Show("คุณต้องการลบข้อมูลใช่หรือไม่", "ยืนยันการลบข้อมูล", MessageBoxButtons.OK);
}
ClearForm();
}
}
catch (Exception)
{
MessageBox.Show("เกิดข้อผิดพลาด", "ตรวจสอบข้อมูลผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
conn.Close();
}
Datagridview_DGV_Dis();
}
#endregion
#region tsb_CloseDis ปุ่มปิดหน้าจอทะเบียนหนังสือเบิกจ่าย
private void tsb_CloseDis_Click(object sender, EventArgs e)
{
this.Close();
}
#endregion
#region tsb_Clear ปุ่มล้างข้อมูล
private void tsb_Clear_Click(object sender, EventArgs e)
{
ClearForm();
}
#endregion
#region _DGV_Dis ตาราง datagrid ใช้ในการเลือกข้อมูลโดยการ DoubleClick ขึ้นไปยัง TextboxForm
private void _DGV_Dis_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
int rowClickDis = _DGV_Dis.CurrentRow.Index;
txt_CommitReqKey.Text = _DGV_Dis.Rows[rowClickDis].Cells[0].Value.ToString();
txt_DocDate.Text = _DGV_Dis.Rows[rowClickDis].Cells[1].Value.ToString();
txt_ProjKey.Text = _DGV_Dis.Rows[rowClickDis].Cells[2].Value.ToString();
txt_ProjCode.Text = _DGV_Dis.Rows[rowClickDis].Cells[3].Value.ToString();
txt_ProjAlias.Text = _DGV_Dis.Rows[rowClickDis].Cells[4].Value.ToString();
txt_ProjName.Text = _DGV_Dis.Rows[rowClickDis].Cells[5].Value.ToString();
txt_ContractID.Text = _DGV_Dis.Rows[rowClickDis].Cells[6].Value.ToString();
txt_ContractDate.Text = _DGV_Dis.Rows[rowClickDis].Cells[7].Value.ToString();
txt_CustomerKey.Text = _DGV_Dis.Rows[rowClickDis].Cells[8].Value.ToString();
txt_CustomerName.Text = _DGV_Dis.Rows[rowClickDis].Cells[9].Value.ToString();
txt_ContractAmt.Text = _DGV_Dis.Rows[rowClickDis].Cells[10].Value.ToString();
txt_ContractVat.Text = _DGV_Dis.Rows[rowClickDis].Cells[11].Value.ToString();
txt_ContractTax.Text = _DGV_Dis.Rows[rowClickDis].Cells[12].Value.ToString();
txt_ContractTaxPer.Text = _DGV_Dis.Rows[rowClickDis].Cells[13].Value.ToString();
txt_ReqNote.Text = _DGV_Dis.Rows[rowClickDis].Cells[14].Value.ToString();
txt_ReqVal.Text = _DGV_Dis.Rows[rowClickDis].Cells[15].Value.ToString();
txt_ReqValPer.Text = _DGV_Dis.Rows[rowClickDis].Cells[16].Value.ToString();
txt_NetReqVal.Text = _DGV_Dis.Rows[rowClickDis].Cells[17].Value.ToString();
txt_DiscNote.Text = _DGV_Dis.Rows[rowClickDis].Cells[18].Value.ToString();
txt_DiscValue.Text = _DGV_Dis.Rows[rowClickDis].Cells[19].Value.ToString();
txt_NetTotal.Text = _DGV_Dis.Rows[rowClickDis].Cells[20].Value.ToString();
txt_Note.Text = _DGV_Dis.Rows[rowClickDis].Cells[21].Value.ToString();
}
#endregion
#region tsb_Add ปุ่มเพิ่มข้อมูล
private void toolStripButton1_Click(object sender, EventArgs e)
{
EnableAllT();
}
#endregion
}
}
ส่วนของ RequitForm
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;
using System.Data.SqlClient;
using System.Configuration;
using System.Data.SqlTypes;
namespace Disbursed
{
public partial class RequitionForm : Form
{
//Variable Type or new object
SqlConnection connSvl;
DataSet ds = new DataSet();
DataSet ds1 = new DataSet();
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter();
SqlDataAdapter da1 = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand();
public RequitionForm()
{
InitializeComponent();
}
private void RequitionForm_Load(object sender, EventArgs e)
{
}
//Fommat Design Datagridview
public void FormatDGV_Req()
{
string[] header = { "คีย์โครงการ", "รหัสลูกค้า", "ชื่อลูกค้า", "รหัสโครงการ", "ชื่อเรียกโครงการ", "ชื่อโครงการ", "เลขที่สัญญา", "วันที่เซนสัญญา", "ค่างาน", "รายละเอียด" };
for (int i = 0; i < header.Length; i++)
{
_DGV_RequitLe.Columns[i].HeaderText = header[i];
}
_DGV_RequitLe.RowsDefaultCellStyle.BackColor = Color.White;
_DGV_RequitLe.AlternatingRowsDefaultCellStyle.BackColor = Color.Orange;
}
private void bt_SearchReq_Click(object sender, EventArgs e)
{
//Connecting your database = App.config("AppName")
ConnectionStringSettings conSettings = ConfigurationManager.ConnectionStrings["ApplicationDatabaseSvlTiger"];
string ConnectionStrings = conSettings.ConnectionString;
connSvl = new SqlConnection(ConnectionStrings);
connSvl.Open();
SqlDataAdapter da = new SqlDataAdapter("SELECT ProjKey,Proj.CustomerKey,LE.Name,Proj.Code,Proj.Alias,Proj.Name,Proj.ContractID,Proj.CtrSignDate,Proj.ContractAmt,Proj.Note FROM Proj INNER JOIN Le ON Proj.CustomerKey = LE.LEKey WHERE CustomerKey LIKE'%" + txt_ReqSearch.Text + "%'", connSvl);
ds.Clear();
da.Fill(ds, "ProjLELike");
_DGV_RequitLe.DataSource = ds.Tables["ProjLELike"];
FormatDGV_Req();
connSvl.Close();
}
public void _DGV_RequitLe_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
int rowClickRequitLe = _DGV_RequitLe.CurrentRow.Index;
this.DialogResult = DialogResult.OK;
}
}
}
ผมทำไว้แล้วครับพี่อึ่งช่วยดูทีครับว่าทำไมมันถึงเรียกไม่ได้ครับ
Date :
2012-09-07 09:01:29
By :
Littlefatboyz
ลองแก้ไขตามนี้ดูก่อนนะครับ มันทำได้หลายวิธีครับ แต่เอาแบบดูแล้วเข้าใจเลยจะดีกว่าครับ
#region tsb_Search ปุ่มค้นหาหนังสือเบิกจ่าย
private void tsb_SearchDis_Click(object sender, EventArgs e)
{
RequitionForm RequitFrom = new RequitionForm();
if (RequitFrom.ShowDialog() == DialogResult.OK)
{
txt_ProjKey.Text = RequitFrom.ProjKey;//ProjKey คือที่เราประกาศไว้ที่ฟอร์ม RequitFrom แบบเข้าถึงได้เลย public
}
#endregion
public partial class RequitionForm : Form
{
//Variable Type or new object
SqlConnection connSvl;
DataSet ds = new DataSet();
DataSet ds1 = new DataSet();
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter();
SqlDataAdapter da1 = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand();
//เพิ่มส่วนนี้เข้าไปนะครับ ถ้าต้องการแค่ละรหัสก็แบบนี้ก่อนนะครับ ถ้าต้องการทั้งแถวให้ไช้ DataRowView
public string ProjKey = string.Empty;
}
public void _DGV_RequitLe_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
int rowClickRequitLe = _DGV_RequitLe.CurrentRow.Index;
ProjKey = _DGV_RequitLe.CurrentRow.Cells[0].Value.ToString(); //อันนี้ไม่รู้ว่าจะเอา Cell ไหนเอาอันแรกแล้วกันครับ
this.DialogResult = DialogResult.OK;
this.Close();
}
ลองดูครับ
ปล. ถ้าต้องการทั้งแถวจะต้องทำอย่างไง (ถามต่อ)ให้ตัวอย่างไว้ ลองทำดูครับ
private DataRowView m_SelectedRow;
/// <summary>
/// Property SelectedRow (DataRowView)
/// </summary>
public DataRowView SelectedRow
{
get
{
return this.m_SelectedRow;
}
set
{
if (this.m_SelectedRow != value)
{
this.m_SelectedRow = value;
}
}
}
Date :
2012-09-07 09:46:17
By :
ch_b
ขอบคุณมากครับ ผมลืมเรื่องการเรียกตัวแปรเข้าถึงข้อมูลเลยครับ ผมประกาศไว้แบบนี้ครับ
Code (C#)
public string ProjKey;
public string ProjCode;
public string ProjAlias;
public string ProjName;
public string ContractID;
public string ContractDate;
public string ContractAmt;
public string CustomerKey;
public string CustomerName;
public string Note;
Form Datagrid ที่เลือกก็เป็นแบบนี้
Code (C#)
public void _DGV_RequitLe_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.RowIndex == -1)
{
return;
}
this.DialogResult = DialogResult.OK;
ProjKey = _DGV_RequitLe.Rows[e.RowIndex].Cells[0].Value.ToString();
CustomerKey = _DGV_RequitLe.Rows[e.RowIndex].Cells[1].Value.ToString();
CustomerName = _DGV_RequitLe.Rows[e.RowIndex].Cells[2].Value.ToString();
ProjCode = _DGV_RequitLe.Rows[e.RowIndex].Cells[3].Value.ToString();
ProjAlias = _DGV_RequitLe.Rows[e.RowIndex].Cells[4].Value.ToString();
ProjName = _DGV_RequitLe.Rows[e.RowIndex].Cells[5].Value.ToString();
ContractID = _DGV_RequitLe.Rows[e.RowIndex].Cells[6].Value.ToString();
ContractDate = _DGV_RequitLe.Rows[e.RowIndex].Cells[7].Value.ToString();
ContractAmt = _DGV_RequitLe.Rows[e.RowIndex].Cells[8].Value.ToString();
Note = _DGV_RequitLe.Rows[e.RowIndex ].Cells[9].Value.ToString();
}
สุดท้ายก็ให้ตอนคลิกเลือกจากปุ่มเทียบค่าไว้ครับ
Code (C#)
#region tsb_Search ปุ่มค้นหาหนังสือเบิกจ่าย
public void tsb_SearchDis_Click(object sender, EventArgs e)
{
RequitionForm RequitFrom = new RequitionForm();
if (RequitFrom.ShowDialog() == DialogResult.OK)
{
txt_ProjKey.Text = RequitFrom.ProjKey;
txt_ProjCode.Text = RequitFrom.ProjCode;
txt_ProjAlias.Text = RequitFrom.ProjAlias;
txt_ProjName.Text = RequitFrom.ProjName;
txt_ContractID.Text = RequitFrom.ContractID;
txt_ContractDate.Text = RequitFrom.ContractDate;
txt_ContractAmt.Text = RequitFrom.ContractAmt;
txt_CustomerKey.Text = RequitFrom.CustomerKey;
txt_CustomerName.Text = RequitFrom.CustomerName;
txt_Note.Text = RequitFrom.Note;
}
}
#endregion
Date :
2012-09-07 10:34:55
By :
Littlefatboyz
แอบเข้ามาสูบ
ได้แล้ว ขอบคุณค๊ะ
Date :
2013-07-05 10:06:39
By :
UsaGi
Load balance : Server 03