vs 2003下,我用if (e.Item.ItemType == ListItemType.EditItem)就可知道datagrid那一行处于编辑状态,到了 vs 2005下用gridview,这个没法用了,只好改用 if (e.Row.RowState == DataControlRowState.Edit),但不是每次都能捕捉到,现在我只能在异常里做判断,倒是没问题,不知有何良策?
        protected void GV_DictList_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            DataRowView dr = (DataRowView)e.Row.DataItem;            if (dr != null)
            {
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    if (e.Row.RowState == DataControlRowState.Edit)
                    {
                        ((TextBox)e.Row.FindControl("TBox_DictName")).Text = dr["DictName"].ToString();
                    }
                    else
                    {
                        try
                        {
                            ((Label)e.Row.FindControl("Lbl_DictList_ID")).Text = dr["ID"].ToString();
                            ((Label)e.Row.FindControl("Lbl_DictList_DictName")).Text = dr["DictName"].ToString();
                        }
                        catch 
                        {
                            //居然捕捉不到edit状态。只好将就着用了。
                            ((TextBox)e.Row.FindControl("TBox_DictName")).Text = dr["DictName"].ToString();
                        }
                    }
                }
            }
        }
        protected void GV_DictList_RowEditing(object sender, GridViewEditEventArgs e)
        {
            GV_DictList.EditIndex = e.NewEditIndex;
            this.GVBind();//数据绑定
        }