要取得datagrid 的值,必须是绑定列,

解决方案 »

  1.   

    你e.Item.Cells[0]是个EditCommandColumn, 哪个是ID啊,改成这样就行了:
    <asp:DataGrid id="DataGrid1" style="Z-INDEX: 103; LEFT: 208px; POSITION: absolute; TOP: 208px"
    runat="server">
    <asp:BoundColumn Visible="False" DataField="in_ID"></asp:BoundColumn>
    <Columns>
    <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" CancelText="取消" EditText="编辑"></asp:EditCommandColumn>
    <asp:ButtonColumn Text="删除" CommandName="Delete"></asp:ButtonColumn>
    <asp:HyperLinkColumn></asp:HyperLinkColumn>
    </Columns>
    </asp:DataGrid>
    这样e.Item.Cells[0].Text就是in_id的值了
      

  2.   

    <asp:datagrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 62px; POSITION: absolute; TOP: 73px" runat="server" AllowPaging="True" PageSize="3" BackImageUrl="file:///F:\Inetpub\wwwroot\web.gif" Font-Names="Verdana" OnSortCommand="MyDataGrid_Sort" AllowSorting="True" AutoGenerateColumns="False" OnUpdateCommand="MyDataGrid_Update" OnCancelCommand="MyDataGrid_Cancel" OnEditCommand="MyDataGrid_Edit" HeaderStyle-BackColor="#ccff33" Font-Size="8pt" Font-Name="Verdana" CellPadding="3" DataKeyField="xue_id" GridLines="Horizontal" BackColor="White" BorderWidth="1px" BorderStyle="None" BorderColor="#E7E7FF" Width="367px" Height="25px">
    <SelectedItemStyle Font-Bold="True" ForeColor="#F7F7F7" BackColor="#738A9C"></SelectedItemStyle>
    <AlternatingItemStyle BackColor="#F7F7F7"></AlternatingItemStyle>
    <ItemStyle ForeColor="#4A3C8C" BackColor="#E7E7FF"></ItemStyle>
    <HeaderStyle Font-Bold="True" ForeColor="#F7F7F7" BackColor="#4A3C8C"></HeaderStyle>
    <FooterStyle ForeColor="#4A3C8C" BackColor="#B5C7DE"></FooterStyle>
    <Columns>
    <asp:BoundColumn DataField="username" ReadOnly="True" HeaderText="姓名"></asp:BoundColumn>
    <asp:BoundColumn DataField="xue_id" ReadOnly="True" HeaderText="学号"></asp:BoundColumn>
    <asp:BoundColumn DataField="yuwen" HeaderText="语文"></asp:BoundColumn>
    <asp:BoundColumn DataField="shuxue" HeaderText="数学"></asp:BoundColumn>
    <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" HeaderText="编辑命令" CancelText="取消" EditText="编辑">
    <HeaderStyle Wrap="False"></HeaderStyle>
    <ItemStyle Wrap="False"></ItemStyle>
    </asp:EditCommandColumn>
    </Columns>
    <PagerStyle HorizontalAlign="Right" ForeColor="#4A3C8C" BackColor="#E7E7FF" Mode="NumericPages"></PagerStyle>
    </asp:datagrid>
      

  3.   

    public void MyDataGrid_Update(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    int id=(int)this.DataGrid1.DataKeys[e.Item.ItemIndex];
    // int id=Convert.ToInt32(((TextBox)e.Item.Cells[1].Controls[0]).Text);
    int yuwen=Convert.ToInt32(((TextBox)e.Item.Cells[2].Controls[0]).Text);
    int shuxue=Convert.ToInt32(((TextBox)e.Item.Cells[3].Controls[0]).Text);
    WFDG.update(id,yuwen,shuxue);
    }
      

  4.   

    啊!我给错了应该是MyDataGrid_delete(),不过都差不多,Update()改为自己写的delete()就行了
      

  5.   

    我现在的问题是,e.Item.Cells[0].Text总为空!!!!是什么问题呢\?
      

  6.   

    BoundColumn是什么东西?出错。
      

  7.   

    如果你的数据网格绑定了数据源,例如DataSet ds,且绑定的第一项是id,那么直接用
    string id=e.Item.Cells[0].Text;就可以取出id了,我这边用的好好的,应该不会出问题。