|
|
|
ช่วยผมหน่อยนะครับ คือใน datagrid ผมมีปุ่ม Approve ปุ่มนึ่งในแต่ละแถว เมื่อกดปุ่ม Approve ให้แถวที่ได้ทำการกดปุ่ม Approve ทำงานไม่ได้ ครับรวมทั้งปุ่ม Preview แล้ว Approve ด้วยครับ ให้มันทำงานไม่ได้เหมือนกันครับ |
|
|
|
|
|
|
|
handle event clieck -> find parent of sender (datagridview row) -> find child of parent (button) -> disable button
คือเราอ่อนเรื่องการอธิบายน่ะ
|
|
|
|
|
Date :
2013-11-25 10:49:36 |
By :
ห้ามตอบเกินวันละ 2 กระทู้ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (C#)
string dgvButtonName = "";
private void dgView_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex < 0)
{
return;
}
if (IsANonHeaderButtonCell(e))
{
if (dgView.Columns[e.ColumnIndex].Name == "Prview")
{
if (!bgwkLoadDataPrint.IsBusy)
{
dgvButtonName = dgView.Columns[e.ColumnIndex].Name;
pgBars.Style = ProgressBarStyle.Marquee;
ACC_NO = dgView.Rows[e.RowIndex].Cells["C_ACC_NO"].Value.ToString().Trim();
StringBuilder stbd = new StringBuilder();
if (ACC_NO != "")
{
stbd.AppendFormat(" AND CLA.ACC_NO='{0}'", ACC_NO);
}
if (isnew)
{
stbd.AppendFormat(" AND CLA.IS_SANT_APPROVE=0");
}
else
{
stbd.AppendFormat(" AND CLA.IS_SANT_APPROVE=1 AND CLA.RECV_BY='{0}'", UserAuthen.USER_NAME);
string RDateF = string.Format(new CultureInfo("en-US", true), "{0:dd/MM/yyyy}", Convert.ToDateTime(dtpPrntF.Value.ToShortDateString()));
string RDateT = string.Format(new CultureInfo("en-US", true), "{0:dd/MM/yyyy}", Convert.ToDateTime(dtpPrntT.Value.ToShortDateString()));
if (PublicValues.CheckCompareDate(dtpPrntF.Value, dtpPrntT.Value))
{
stbd.AppendFormat(" AND CONVERT(DATE,CLA.IS_SANT_APPROVE_DATE,103)=CONVERT(DATE,'{0}',103) ", RDateF);
}
else
{
stbd.AppendFormat(" AND CONVERT(DATE,CLA.IS_SANT_APPROVE_DATE,103) BETWEEN " +
"CONVERT(DATE,'{0}',103) AND " +
"CONVERT(DATE,'{1}',103) ", RDateF, RDateT);
}
}
string QueryStbd = stbd.ToString().Trim().Replace("'", "''");
pgBars.Style = ProgressBarStyle.Marquee;
bgwkLoadDataPrint.RunWorkerAsync(QueryStbd);
}
}
else if (dgView.Columns[e.ColumnIndex].Name == "Approve")
{
ACC_NO = dgView.Rows[e.RowIndex].Cells["C_ACC_NO"].Value.ToString().Trim();
DialogResult ans = MessageBox.Show("ต้องการ Approve :" + " " + "เลขสัญญา :" + " " + ACC_NO + " " + "หรือไม่?" + " ", "แจ้งเตือน", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (ans == DialogResult.Yes)
{
//** ตรงนี้คือที่จะเขียนโค้ดครับ คือใน datagrid ผมมีปุ่ม Approve ปุ่มนึ่งในแต่ละแถว เมื่อกดปุ่ม Approve ให้แถวที่ได้ทำการกดปุ่ม Approve ทำงานไม่ได้ ครับรวมทั้งปุ่ม Preview แล้ว Approve ด้วยครับ ให้มันทำงานไม่ได้เหมือนกันครับ
}
else
{
return;
}
}
}
}
โค้ดจะประมาณนี้อ่ะครับ พอมีตัวอย่างบ้างไหมครับ
|
|
|
|
|
Date :
2013-11-25 11:07:19 |
By :
Rutsaza |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|