我在web页面下定义了一个名为datagrid_type的datagrid倥件。
并让这个控件与我指定的数据源建立了帮定。能够正确显示。
在此基础上我在datagrid控件的上又添加了一列的按钮列。
对于这个添加的按纽列,我的设置如下:
编辑文本:“修改”
取消文本:“取消”
更新文本:“保存”
我希望实现的功能如下:
当我点击每一行数据后面的“修改”按纽时,立刻进入编辑模式,“修改”按纽变成
“保存”和“取消”按纽。这个时候我可以在相应的编辑框中添加我相应的内容。
然后点击“保存”按钮重新回到正常显示模式。并且数据是最新的。
如果点击“取消”,则不进行修改,直接重新回到先前没有修改的模式下面去。
下面我给出我解决这个问题的程序代码:
private void datagrid_type_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
this.datagrid_type .EditItemIndex =e.Item.ItemIndex ;
}
private void datagrid_type_CancelCommand(object source,
System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
this.datagrid_type .EditItemIndex =-1;
}
private void datagrid_type_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
int selectedindex=this.datagrid_type .EditItemIndex ;
string content=this.datagrid_type .Items [selectedindex ].Cells [2].Text ;
JPMSoft.Dictionary dic=new JPMSoft.Dictionary (content);
dic.Code =((TextBox)e.Item .Cells [1].Controls[0]).Text ;
dic.Content =((TextBox)e.Item .Cells [2].Controls [0]).Text ;
this.datagrid_type .EditItemIndex =-1;
DataSet ds=new DataSet ();
dic.SearchByType (this.dropdown_type.SelectedItem .Text ,ref ds);
DataColumnCollection cols=ds.Tables [0].Columns ;
cols.Remove ("ID");
cols.Remove ("Type_ID");
this.datagrid_type .DataSource =ds.Tables [0];
this.datagrid_type .DataBind ();
}
现在的问题如下:
当我运行程序以后,我点击某一项的修改按钮以后,第一次点击没有反应,第二次
点击才会进入编辑修改的模式下面。请问这是怎么回事呢?
多谢各位的帮助。我在线等待大家的帮助。
重新binding一下就可以了