[求教]--DataGrid裡的數據為什麼不能及時更新?

CraxyMouse 2004-11-21 09:58:57
我在DataGrid添加右鍵菜單刪除,刪除後在DataGrid不及時顯示出來,只有到刪除下一條才能顯示
請賜教:
private void menDel_Click(object sender, System.EventArgs e)
{
try
{
//設置提示信息
string sOrderId = gridIN[this.gridIN.CurrentRowIndex,0].ToString();
string sOrderNo = gridIN[this.gridIN.CurrentRowIndex,1].ToString();
string sProductNo = gridIN[this.gridIN.CurrentRowIndex,2].ToString();
string sProductName = gridIN[this.gridIN.CurrentRowIndex,3].ToString();
string allMsg = "ORDER_ID="+sOrderId+" ORDER_NO="+sOrderNo+" PRODUCT_NO="+sProductNo;
allMsg += " PRODUCT_NAME="+sProductName+'\r';
string sMessage =allMsg +":"+ x.SelectSingleNode("//START/DEL_MSG").InnerText;
//提示對話框
DialogResult oResult = MessageBox.Show(sMessage,"Notice",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
if(oResult == DialogResult.Yes)
{
//初始化要刪除記錄的SQL並在狀態欄顯示
string delSql = " DELETE FROM CUSTOM_ORDER WHERE ORDER_ID = " + sPtext.SQLQ(int.Parse(sOrderId));
staPanNotice.Text = " Delete Task Now Process.Please Waitting!";
try
{
//執行刪除操作
int nTranRelult = oTran.UpdateCmd(delSql);
//在DATAGRID中重新顯示,刪除後的記錄
Timeout.Infinite = 10000;

staPanNotice.Text = " Operation Success!";
}
catch(Exception de)
{
//刪除失敗顯示錯誤
MessageBox.Show(de.Message,"Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
}

}
}
catch
{
string sError = x.SelectSingleNode("//START/ERROR_DEL").InnerText;
MessageBox.Show(sError,"Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}

刪除後調用的顯示函數
#region Show DataGride Data Update
private void dgCustom()
{
gridIN.TableStyles.Clear();
try
{
DataSet oDs = new DataSet();
string sql = "SELECT TOP 20 ORDER_ID, ORDER_NO AS 客戶訂單號,PRODUCT_NAME,PRODUCT_NO,PRODUCT_ITEM,";
sql += "PRODUCT_SOURCE,PRODUCT_PRICE FROM CUSTOM_ORDER ORDER BY CREATE_DATE";
//Retrieval DataSet
oDs = oRetv.Select(sql);
txtCumNo.Text = gridIN.TableStyles.Count.ToString();

//建立數據源
gridIN.SetDataBinding(oDs,oDs.Tables[0].TableName);
gridIN.Refresh();
DataGridTableStyle ts = new DataGridTableStyle();
ts.SelectionBackColor = System.Drawing.SystemColors.Desktop;
ts.AllowSorting = false;
ts.ReadOnly = true;
ts.MappingName = gridIN.DataMember;
//如要此tablestyle存在就不在增加
gridIN.TableStyles.Add(ts);
txtStand.Text = gridIN.TableStyles.Count.ToString();
gridIN.TableStyles[0].GridColumnStyles[0].Width = 0;
}
catch(Exception showe)
{
MessageBox.Show(showe.Message,"Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}
#endregion
...全文
65 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDNATM 2004-11-21
  • 打赏
  • 举报
回复
这时DATAGRID的数据才会更新
CSDNATM 2004-11-21
  • 打赏
  • 举报
回复
只有焦点离开DATAGRID时,DATAGRID的数据才会更新到DATASET

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧