datagrid 数据刷新的问题
我现在用DataGrid显示从数据库中提取的数据,然后做了添加、修改、删除三个按钮。点击添加按钮用.ShowDialog()属性弹出一个新窗口,然后输入数据insert到数据库,点击确定完成数据添加并关闭添加窗口,但现在遇到怎样刷新DataGrid的问题, 请指教. 我试过 在主窗体写了公共方法bind_datagrid()
但是出现了很奇怪的问题, 求其它解决方法
问题点数:50、回复次数:6Top
1 楼hjf1223(阿不)回复于 2005-05-30 21:43:04 得分 25
重新绑定数据就可以了。你可以试试Top
2 楼ymlazy55(sdfdsf)回复于 2005-05-30 22:14:05 得分 0
真的不行. 不知何解.
Top
3 楼ymlazy55(sdfdsf)回复于 2005-05-30 22:17:06 得分 0
这个问题真是相当奇怪.
我插入数据后 调用 bind()成功
在更新数据时, 就不成功, 但是存储过程没有错, 我看过数据库数据事实上可以成功更新的.
但是一调用bind() 到了 grd.datasource=_dt 时, 就会出错, 说什么我的content 不属于表, 真是无话可说Top
4 楼hxq987(黄泉)回复于 2005-05-30 22:28:24 得分 25
那你在“点击确定完成数据添加并关闭添加窗口”中的“确定”按钮那里再加载一次databind()不就可以了么?Top
5 楼ymlazy55(sdfdsf)回复于 2005-05-31 20:27:02 得分 0
是啊, 调用bind() 是绝对没有错的, 我的insert 也是这样的搞的.
但是来到了edit 状态的就不行. 搞不掂它, 我今晚就跳楼算了. 哈哈.Top
6 楼ymlazy55(sdfdsf)回复于 2005-05-31 20:59:15 得分 0
我真的不知道是什么原因啊, 救命啊.
有心兄弟可以看一下下面的代码. insert 时候与update 也是一样调用, 逻辑上也一模一样, why?
private void TaskDetail_Load(object sender, System.EventArgs e)
{
//Bind data
Bind_comStatus();
Bind_data();
}
private void Bind_data()
{
_TaskDetailID=frmManage.TaskListID;
if(_TaskDetailID==0)
{
txtContext.Text=string.Empty;
txtExperience.Text=string.Empty;
txtTaskTitle.Text=string.Empty;
}
else
{
DataRow dr=tasklist.rowTaskList(_TaskDetailID);
txtContext.Text=dr["Content"].ToString();
txtExperience.Text=dr["ExperienceSumup"].ToString();
txtTaskTitle.Text=dr["TaskTitle"].ToString();
if(dr["AlarmTime"].ToString().Substring(0,8)=="1900-1-1")
{
timeAlarm.Checked=false;
}
else
{
timeAlarm.Value=Convert.ToDateTime(dr["AlarmTime"]);
}
if(dr["FinishTime"].ToString().Substring(0,8)=="1900-1-1")
{
timeFinish.Checked=false;
}
else
{
timeFinish.Value=Convert.ToDateTime(dr["FinishTime"]);
}
comStatus.SelectedValue=dr["StatusID"].ToString();
}
}
private void btnSave_Click(object sender, System.EventArgs e)
{
Model.TaskListInfo newtasklist=new Model.TaskListInfo();
newtasklist.AddTime=System.DateTime.Now;
if(timeAlarm.Checked==false)
{
newtasklist.AlarmTime=Convert.ToDateTime("1900-01-01") ;
}
else
{
newtasklist.AlarmTime=timeFinish.Value;
}
newtasklist.Content=txtContext.Text.Trim();
newtasklist.ExperienceSumup=txtExperience.Text.Trim();
if(timeFinish.Checked==false)
{
newtasklist.FinishTime=Convert.ToDateTime("1900-01-01") ;
}
else
{
newtasklist.FinishTime=timeFinish.Value;
}
//newtasklist.ImportanceLevel=1
newtasklist.StatusID=Convert.ToInt16( clsTools.StringToNumber( comStatus.SelectedValue.ToString())) ;
newtasklist.TaskID=frmManage.TaskListID ;
newtasklist.TaskTitle=txtTaskTitle.Text.Trim();
tasklist.insertTaskList(newtasklist);
frmManage.Bind_DataGrid();
this.Close();
}
Top




