我为datagrid添加了一个编辑列,运行后,第一次按编辑按钮无效,以后每次按,都是
使上一次所按的按钮所在的行进入编辑状态,比如我第一次按下第m行的按钮,页面重载
一次没变化,我再按第n行的按钮,页面重载一次,第m行进入编辑状态... 请问是怎么回事呢?
代码如下:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.DataGrid1.CancelCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_CancelCommand);
this.DataGrid1.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_EditCommand);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion private void Button1_Click(object sender, System.EventArgs e)
{ //读取数据库 System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection();
conn.ConnectionString = Application["connStr"].ToString();
conn.Open(); string select = "select 学号,姓名 from classes where 班号='"+classNo+"' and 班级类型='"+classType+"'";
OleDbDataAdapter da = new OleDbDataAdapter(select,conn);
DataTable dt = new DataTable();
da.Fill(dt);
DataGrid1.DataSource = dt;
DataGrid1.DataBind();
conn.Close();
}
} private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DataGrid1.EditItemIndex = e.Item.ItemIndex;
}
解决方案 »
- 当鼠标放在gridview某一行某列时,提示列名?
- sqldatasource selectcommand
- zengfanxing wuyq11 补分
- 一阵狂点之后,无法和数据库取得联系,是怎么了?
- 用语句实现数据库存储过程
- 查询问题(使用where 1=1)
- [求助]chart控件图例的排列问题
- 怎样在后台form_load中用(vb.net)指定datagrid的某列的datafield
- 一个关于datagrid无法显示绑定的数据的问题?
- 如何取出一个DataSet中的一记录到另一记录之间的记录填入另外的DataSet?
- 出错?
- 在使用 asp.net2.0 开发时,用到了强类型DataSet,在保存和更新数据时有点疑问
conn.ConnectionString = Application["connStr"].ToString();
conn.Open(); string select = "select 学号,姓名 from classes where 班号='"+classNo+"' and 班级类型='"+classType+"'";
OleDbDataAdapter da = new OleDbDataAdapter(select,conn);
DataTable dt = new DataTable();
da.Fill(dt);
DataGrid1.DataSource = dt;
DataGrid1.DataBind();
conn.Close();
这个暂时可以弄成一个函数比方是dgBind()这样你可以再editcommand事件里面
{
DataGrid1.EditItemIndex = e.Item.ItemIndex;
dgBind();
}
!但是更新以后还是得重新查询重新bind
DataGrid1.DataBind();
反正你就是缺个Databind()