|
|
|
C# Win App ทำอย่างไรให้ ข้อมูลใน DGV เปลี่ยนแปลง ตามข้อความใน TextBox ครับ |
|
|
|
|
|
|
|
C# Win App ทำอย่างไรให้ ข้อมูลใน DGV เปลี่ยนแปลง ตามข้อความใน TextBox ครับ
เวลากดเลือกข้อมูลแล้วกดเลือกสมาชิก รหัสสมาชิกมันก็จะมาลงใน TextBox ทีนี้ อยากให้ DGV มันเปลี่ยนแปลงข้อมูลทุกครั้งที่ รหัสสมาชิกเปลี่ยนไปครับ ต้องเพิ่มโค๊ดตรงไหนบ้างครับ
อันนี้โค๊ดที่โชว์ DGV Code (C#)
private void แสดงรายการกู้ยืม()
{
String t = mem_id.Text;
sql = @"SELECT * FROM ทำเรื่องกู้ WHERE mem_id LIKE '%" + t + "%'";
command = new SqlCommand(sql, connection);
adapter = new SqlDataAdapter(command);
dataSt = new DataSet();
adapter.Fill(dataSt, "ทำเรื่องกู้");
dataGridView2.DataSource = dataSt.Tables["ทำเรื่องกู้"];
string[] cols = { "เลขที่รายการกู้", "รหัสผู้กู้", "กู้จาก", "ประเภท", "วงเงิน", "ดอกเบี้ย", "วันที่ทำรายการ", "วันที่กำหนดใช้คืน", "วันที่รับเงิน", "รับเงินโดย" };
int[] wid = { 60,50,120,120,250,90,90,70,50,200 };
for (int i = 0; i < cols.Length; i++)
{
dataGridView1.Columns[i].HeaderText = cols[i];
dataGridView1.Columns[i].Width = wid[i];
}
dataGridView1.Font = new Font("Microsoft Sans Serif", 8);
dataGridView1.AlternatingRowsDefaultCellStyle.BackColor =
Color.FromName("PowderBlue");
dataGridView1.RowHeadersVisible = false;
}
Tag : .NET, VS 2010 (.NET 4.x)
|
|
|
|
|
|
Date :
2013-07-22 14:29:42 |
By :
111111 |
View :
995 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (C#)
#region Member
//Control & Component
private TextBox txtID;
private TextBox txtName;
private Button btnSearch;
private DataGridView dgv;
private BindingSource BDS_Master;
private BindingSource BDS_Detail;
//Data
private DataSet DS;
private DataTable DT1;
private DataTable DT2;
private DataColumn DC_Mas_1;
private DataColumn DC_Mas_2;
private DataColumn DC_De_1;
private DataColumn DC_De_2;
private DataColumn DC_De_3;
#endregion
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
DoSetControl();
DoSetData();
btnSearch.Click += new EventHandler(button1_Click);
btnSearch.Focus();
}
private void DoSetData()
{
DS = new DataSet();
DT1 = new DataTable("Master");
DT2 = new DataTable("Detail");
DC_Mas_1 = new DataColumn("MasterID");
DC_Mas_2 = new DataColumn("MasterName");
DC_De_1 = new DataColumn("DetailID");
DC_De_2 = new DataColumn("DetailName");
DC_De_3 = new DataColumn("ForeignKey");
DS.Tables.Add(DT1);
DS.Tables.Add(DT2);
DT1.Columns.Add(DC_Mas_1);
DT1.Columns.Add(DC_Mas_2);
DT2.Columns.Add(DC_De_1);
DT2.Columns.Add(DC_De_2);
DT2.Columns.Add(DC_De_3);
DataRow Dr = DT1.NewRow();
Dr["MasterID"] = "MID01";
Dr["MasterName"] = "Master_01";
DT1.Rows.Add(Dr);
Dr = DT1.NewRow();
Dr["MasterID"] = "MID02";
Dr["MasterName"] = "Master_02";
DT1.Rows.Add(Dr);
Dr = DT2.NewRow();
Dr["DetailID"] = "DID01";
Dr["DetailName"] = "Detail_01";
Dr["ForeignKey"] = "MID01";
DT2.Rows.Add(Dr);
Dr = DT2.NewRow();
Dr["DetailID"] = "DID02";
Dr["DetailName"] = "Detail_02";
Dr["ForeignKey"] = "MID01";
DT2.Rows.Add(Dr);
Dr = DT2.NewRow();
Dr["DetailID"] = "DID03";
Dr["DetailName"] = "Detail_03";
Dr["ForeignKey"] = "MID01";
DT2.Rows.Add(Dr);
Dr = DT2.NewRow();
Dr["DetailID"] = "DID04";
Dr["DetailName"] = "Detail_04";
Dr["ForeignKey"] = "MID02";
DT2.Rows.Add(Dr);
DataRelation dataRela = new DataRelation("MasterDetail", DC_Mas_1, DC_De_3);
DS.Relations.Add(dataRela);
this.BDS_Master.DataSource = DS;
this.BDS_Master.DataMember = "Master";
BDS_Detail.DataSource = BDS_Master;
BDS_Detail.DataMember = "MasterDetail";
this.txtID.DataBindings.Add("Text", BDS_Master, "MasterID");
this.txtName.DataBindings.Add("Text", BDS_Master, "MasterName");
this.dgv.DataSource = BDS_Detail;
}
private void DoSetControl()
{
this.txtID = new System.Windows.Forms.TextBox();
this.txtName = new System.Windows.Forms.TextBox();
this.btnSearch = new System.Windows.Forms.Button();
this.dgv = new System.Windows.Forms.DataGridView();
this.BDS_Master = new System.Windows.Forms.BindingSource();
this.BDS_Detail = new System.Windows.Forms.BindingSource();
//
// txtID
//
this.txtID.Location = new System.Drawing.Point(25, 20);
this.txtID.Name = "txtID";
this.txtID.Size = new System.Drawing.Size(50, 20);
this.txtID.TabIndex = 0;
this.txtID.ReadOnly = false;
//
// txtName
//
this.txtName.Location = new System.Drawing.Point(90, 20);
this.txtName.Name = "txtName";
this.txtName.Size = new System.Drawing.Size(75, 20);
this.txtName.TabIndex = 1;
this.txtName.ReadOnly = true;
//
// btnSearch
//
this.btnSearch.Location = new System.Drawing.Point(175, 17);
this.btnSearch.Name = "btnSearch";
this.btnSearch.Text = "Search";
//
// dgv
//
this.dgv.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgv.Location = new System.Drawing.Point(25, 60);
this.dgv.Name = "dgv";
this.dgv.Size = new System.Drawing.Size(400, 150);
this.dgv.TabIndex = 2;
// Size of Form
this.ClientSize = new System.Drawing.Size(494, 248);
this.Controls.Add(txtID);
this.Controls.Add(txtName);
this.Controls.Add(btnSearch);
this.Controls.Add(this.dgv);
}
private void button1_Click(object sender, EventArgs e)
{
int vPosition = BDS_Master.Find("MasterID", txtID.Text.ToString());
if (vPosition != -1)
{
BDS_Master.CancelEdit();
BDS_Master.Position = vPosition;
}
}
หมายเหตุ : สร้าง Form ใหม่ขึ้นมาแล้ว Copy โค้ดด้านบนนี้ไปวางใน Class Form1 แล้วลอง Debug ศึกษาการทำงานดูครับ
|
ประวัติการแก้ไข 2013-07-22 22:30:06
|
|
|
|
Date :
2013-07-22 22:29:17 |
By :
01000010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (C#)
private void mem_id_TextChanged(object sender, EventArgs e)
{
แสดงรายการกู้ยืม();
}
|
|
|
|
|
Date :
2013-07-23 02:52:42 |
By :
a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|