|
|
|
C# การจะทำให้ datagridview refresh อย่างไรครับ Windows App ครับ |
|
|
|
|
|
|
|
หน้าหลัก
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;
namespace AoobShop
{
public partial class Position : Form
{
private int setID;
public Position()
{
InitializeComponent();
}
private void Position_Load(object sender, EventArgs e)
{
showGrid();
}
private void groupBox1_Enter(object sender, EventArgs e)
{
}
private void button4_Click(object sender, EventArgs e)
{
Addposition addposition = new Addposition();
addposition.Show();
}
private void button2_Click(object sender, EventArgs e)
{
search.Visible = true;
showGrid();
}
public void showGrid()
{
search.DataSource = null;
search.Rows.Clear();
search.Columns.Clear();
DataGridViewLinkColumn link = new DataGridViewLinkColumn();
link.UseColumnTextForLinkValue = true;
link.HeaderText = "แก้ไข";
link.DataPropertyName = "lnkColumn";
//link.ActiveLinkColor = Color.White;
link.LinkBehavior = LinkBehavior.SystemDefault;
link.LinkColor = Color.Blue;
link.Text = "แก้ไข";
link.Width = 50;
//link.VisitedLinkColor = Color.YellowGreen;
search.Columns.Add(link);
DataGridViewLinkColumn link1 = new DataGridViewLinkColumn();
link1.UseColumnTextForLinkValue = true;
link1.HeaderText = "ลบ";
link1.DataPropertyName = "lnkColumn";
//link.ActiveLinkColor = Color.White;
link1.LinkBehavior = LinkBehavior.SystemDefault;
link1.LinkColor = Color.Blue;
link1.Text = "ลบ";
link1.Width = 50;
//link.VisitedLinkColor = Color.YellowGreen;
search.Columns.Add(link1);
string query = "SELECT POSITION_CODE, POSITION_NAME,POSITION_ID";
query += " FROM Position";
query += " where 1=1";
if (!textid.Text.Equals(""))
{
query += "AND POSITION_CODE LIKE '%" + textid.Text + "%'";
}
if (!textname.Text.Equals(""))
{
query += "AND POSITION_NAME LIKE '%" + textname.Text + "%'";
}
ClassConnectDB conn = new ClassConnectDB();
SqlDataReader drr;
drr = conn.SelectSqlDataReader(query);
DataTable dt = new DataTable();
dt.Load(drr);
search.DataSource = dt;
search.Columns[2].HeaderText = "รหัสตำแหน่ง";
search.Columns[3].HeaderText = "ชื่อตำแหน่ง";
search.Columns[4].HeaderText = "รหัสตำแหน่ง";
search.Columns[4].Visible = false;
conn.Close();
}
private void search_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
setID = Convert.ToInt32(search.Rows[e.RowIndex].Cells[4].Value.ToString());
}
private void search_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 0)
{
/*
edit.editEmployee callemp = new edit.editEmployee();
callemp.Show();*/
int row;
row = e.RowIndex;
if (!search.Rows[row].Cells[2].Value.ToString().Equals(""))
{
// int code = Convert.ToInt32(gvSearch.Rows[row].Cells[2].Value.ToString());
//MessageBox.Show(search.Rows[row].Cells[2].Value.ToString());
string emp_code = search.Rows[row].Cells[2].Value.ToString();
edit.editPosition callemp = new edit.editPosition(emp_code);
callemp.Show();
}
}
else if (e.ColumnIndex == 1)
{
if (MessageBox.Show("ต้องการลบข้อมูลใช่หรือไม่?", "ยืนยันการลบข้อมูล", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
try
{
string id = "";
string sqlidelete = "DELETE FROM Position where POSITION_ID=@id";
string Addvalue = "@id";
string value = setID.ToString();
ClassConnectDB conn = new ClassConnectDB();
bool re = conn.DeleteValue(sqlidelete, Addvalue, value);
if (re) { MessageBox.Show("ลบข้อมูลเรียบร้อยแล้ว"); }
else { MessageBox.Show("ไม่สามารถลบข้อมูลได้"); }
conn.Close();
showGrid();
}
catch (Exception ex)
{
MessageBox.Show("ERROR : " + ex.ToString());
}
}
}
}
private void button3_Click(object sender, EventArgs e)
{
search.Visible = false;
textid.Text = "";
textname.Text = "";
}
}
}
หน้าเพิ่มข้อมูล
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;
namespace AoobShop
{
public partial class Addposition : Form
{
public Addposition()
{
InitializeComponent();
}
public void addnumber()
{
try
{
ClassConnectDB conn = new ClassConnectDB();
string sqlcount = "SELECT COUNT(*) FROM Position";
SqlDataReader dr;
DataTable dt;
dr = conn.SelectSqlDataReader(sqlcount);
if (dr.HasRows)
{
dt = new DataTable();
dt.Load(dr);
int number = Convert.ToInt32(dt.Rows[0][0].ToString());
number += 1;
if (number >= 100)
{
textpositionid.Text = "PO" + number;
}
else if (number >= 10)
{
textpositionid.Text = "PO0" + number;
}
else
textpositionid.Text = "PO00" + number;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.StackTrace);
}
}
private void button1_Click(object sender, EventArgs e)
{
if (MessageBox.Show("ต้องการเพิ่มข้อมูลใช่หรือไม่?", "ยืนยันการเพิ่มข้อมูล", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
try
{
string name = textname.Text;
string code = textpositionid.Text;
string sqlinsert = @"INSERT INTO Position (POSITION_NAME,POSITION_CODE)
VALUES(@name,@code)";
string Addvalue = "@name,@code";
string value = name + "," + code;
ClassConnectDB conn = new ClassConnectDB();
bool re = conn.InsertValue(sqlinsert, Addvalue, value);
if (re) { MessageBox.Show("บันทึกข้อมูลเรียบร้อยแล้ว"); }
else { MessageBox.Show("ไม่สามารถบันทึกข้อมูลได้"); }
conn.Close();
this.Close();
Position callposition = new Position();
callposition.showGrid();
}
catch (Exception ex)
{
MessageBox.Show("ERROR : " + ex.ToString());
}
}
}
private void Addposition_Load(object sender, EventArgs e)
{
textpositionid.Enabled = false;
addnumber();
}
}
}
เพิ่มข้อมูลเสร็จแล้วปิดผมอยากให้ Datagridview ในหน้าหลักมัน update ครับ
ไม่ทราบว่าพอจะมี event ใดที่สามารถใช้ได้บ้างครับ
ขอบคุณครับ
Tag : .NET, Win (Windows App)
|
ประวัติการแก้ไข 2012-11-24 18:26:30 2012-11-24 18:27:18 2012-11-24 18:27:45 2012-11-24 18:28:36 2012-11-26 13:08:39 2012-11-26 13:11:58
|
|
|
|
|
Date :
2012-11-24 18:24:07 |
By :
job2004 |
View :
1806 |
Reply :
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่มีคนทราบเลยหรือครับ ><'''
|
|
|
|
|
Date :
2012-11-25 16:50:31 |
By :
job2004 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณน่าจะแค่ call method หรือ sub สำหรับแสดงข้อมูลก็น่าจะได้แล้วครับ
|
|
|
|
|
Date :
2012-11-25 20:35:18 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เรียกให้ show อิกรอบ ต่อจากตอนที่ insert เสร็จแล้วอะคับ
|
|
|
|
|
Date :
2012-11-26 11:58:16 |
By :
poomberry |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ปกติแล้วทั่ว ๆ ไป หลังจากที่ Insert/update เสร็จแล้วจะเรียก sub ที่เป็นตัว bind ข้อมูลครับ
|
|
|
|
|
Date :
2012-11-26 12:05:31 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (C#)
Position callposition = new Position();
callposition.showGrid();
เรียกใช้อย่างนี้ถูกแล้วรึยังครับเพราะจากที่ลองแล้วนิ่งสนิทเลยครับ
พอจะมีตัวอย่างไหมครับ
|
|
|
|
|
Date :
2012-11-26 13:13:27 |
By :
job2004 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|