我的程序如下
private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DataGrid1.EditItemIndex=(int)e.Item.ItemIndex;
BindGrid();
}在html页面的设置如下
<asp:datagrid id="DataGrid1"  AutoGenerateColumns=False style="Z-INDEX: 101; LEFT: 208px; POSITION: absolute; TOP: 56px"
runat="server">
<Columns>
<asp:BoundColumn DataField="name" HeaderText="姓名"></asp:BoundColumn>
<asp:TemplateColumn>
<EditItemTemplate>
<asp:TextBox ID="nametext" Runat=server Text='<%#DataBinder.Eval(Container,("DataItem.name"))%>'</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:EditCommandColumn ButtonType="PushButton" HeaderText="编辑" EditText="编辑"></asp:EditCommandColumn>
</Columns>
</asp:datagrid>
点击编辑的时候,编辑状态出不来。顺便问一下,编辑状态下的TextBox或是其他的空间是自己添加的吗?

解决方案 »

  1.   

    缺少OnUpdateCommand="Update" OnCancelCommand="Cancel" OnEditCommand="DataGrid1_EditCommand"
    改如下<asp:datagrid id="DataGrid1" runat="server" OnDeleteCommand="Delete" ForeColor="Black" GridLines="None"
        CellPadding="2" BackColor="LightGoldenrodYellow" BorderWidth="1px" BorderColor="Tan"  AutoGenerateColumns="False"
        DataKeyField="UserID" OnUpdateCommand="Update" OnCancelCommand="Cancel" OnEditCommand="DataGrid1_EditCommand">
       <Columns>        
            <asp:TemplateColumn HeaderText="姓名">            
                <ItemTemplate>
                     <%# DataBinder.Eval(Container.DataItem,"name") %> 
                </ItemTemplate>
                <EditItemTemplate>
                    <asp:TextBox id="nametext" Text='<%# DataBinder.Eval(Container.DataItem,"name") %>' Width="100%" Runat="server">
                    </asp:TextBox>
                </EditItemTemplate>
            </asp:TemplateColumn>       
            <asp:EditCommandColumn ButtonType="PushButton" UpdateText="更新" HeaderText="编辑" CancelText="取消" EditText="编辑"></asp:EditCommandColumn>
            <asp:ButtonColumn Text="删除" ButtonType="PushButton" HeaderText="删除" CommandName="Delete"></asp:ButtonColumn>
        </Columns>   
    </asp:datagrid>protected void DataGrid1_EditCommand(object source,DataGridCommandEventArgs e)
    {
    DataGrid1.EditItemIndex=e.Item.ItemIndex;
    BindGrid();
    }参考
    http://singlepine.cnblogs.com/articles/266538.html