<asp:DataGrid ID="DataGrid1" runat="server">
            <Columns>
                <asp:BoundColumn DataField="id" HeaderText="id">
                </asp:BoundColumn>
                <asp:BoundColumn DataField="name" HeaderText="name">
                </asp:BoundColumn>
            </Columns>
        </asp:DataGrid>怎么样才能把name的值读出来?我想根据id号更新name!
谢谢

解决方案 »

  1.   

    还要什么东西详细?用mssql绑定数据
      

  2.   

    DataGrid1.DataKeyNames = new string[] { "ID" };//主键
      

  3.   

    设置主键?我现在是想把遍历datagrid里每条记录,把id和name分别读出来,然后更新数据库
      

  4.   

    楼主,你应该查贴子,有同样的问题。
    执行的时候
    for(int i=0;i<DataGrid1.Rows.Count;i++)
    {
        string id=DataGrid1.Rows[i].Cells[0].Text;//ID值
        string  name=DataGrid1.Rows[i].Cells[1].Text;//name值
       你自己的操作。。
    }给分吧。
      

  5.   

    首先你要获取出RowIndex来,在ItemCommand事件的事件参数e中就可以获取出来,如果是循环遍历那就省去这一步了。获取出rowIndex后,就可以通过DataGridItem item = DataGrid1.Items[rowIndex]; // 获取出一行string id = item[0].Text; // 此处的索引根据具体需要修改
    string name=item[1].Text;如果你是用的是.net2.0的话,建议你使用GridView.
      

  6.   

    foreach (DataGridItem item in DataGrid1.Items)
    {
        string id = item.Cells[0].Text;
        string name = item.Cells[1].Text;
        // 取出来了,做你的更新吧。
    }
      

  7.   

    嗯,你说的有道理,是gridview ,如果是2003的控件就没有了。谢谢指出错误
      

  8.   


    所有的DataGrid1.Rows[i].Cells[0].Text这样的用法都没有用,取出来的是空值name的那个可以输入更改,更新的就是name最新的值我想用control做,但是不管用ClientID,或者是Controls[i]取出来的都是空,我保证表里有数据的。
    另外,HasControl是true,Controls.Count = 2
      

  9.   

            public void SaveChange_Click(object sender, EventArgs e)
            {
                for (int i = 0; i < DataGrid1.Items.Count; i++)
                {
                    string id = DataGrid1.Items[row].Controls[0].ClientID;
                    string str = DataGrid1.Items[row].Controls[0].ClientID;
                 }
             }        public void BindData()
            {
                DataGrid1.AllowCustomPaging = false;
                DataGrid1.TableHeaderName = "UserList";
                DataGrid1.BindData(DB.GetUserPhoneInfoSql());
            }
      

  10.   

    楼主可以参考一下这个:        public void SaveChange_Click(object sender, EventArgs e) 
            { 
                for (int i = 0; i < DataGrid1.Items.Count; i++) 
                { 
                    string id = DataGrid1.Items[i].Cells[0].Text; 
                    string str = DataGrid1.Items[i].Cells[1].Text; 
                } 
            }         public void BindData() 
            { 
                DataGrid1.AllowCustomPaging = false; 
                DataGrid1.TableHeaderName = "UserList"; 
                DataGrid1.BindData(DB.GetUserPhoneInfoSql()); 
            } 
    应该就是这样了