做个循环,遍历DATAGRID的所有行

解决方案 »

  1.   

    http://samples.gotdotnet.com/quickstart/aspplus/samples/webforms/ctrlref/webctrl/datagrid/doc_datagrid.aspx你到这个网之去看看,关于datagrid所有的操作和功能都有了
      

  2.   

    checkbox可以设成autopostback
    然后嘛
    在checkbox状态改变的事件里对它所处的行进行处理咯
      

  3.   

    参考一下,遍历DATAGRID的所有行
    private void btnUpdate_Click(object sender, System.EventArgs e)
    {
      // Loop through the items in the datagrid.
      foreach (DataGridItem di in dgContacts.Items)
      {
        // Make sure this is an item and not the header or footer.
        if (di.ItemType == ListItemType.Item || di.ItemType == ListItemType.AlternatingItem)
        {
          // Get the current row for update or delete operations later.
          DataRow dr = _dsContacts.Tables["Contact"].Rows.Find(dgContacts.DataKeys[di.ItemIndex]);      // See if this one needs to be deleted.
          if (((CheckBox)di.FindControl("chkDelete")).Checked)
          {
            _dsContacts.Tables["Contact"].Rows.Remove(dr);
          }
          else
          {
            // Update the row instead.
            dr["Email"] = ((TextBox)di.FindControl("Email")).Text;
            dr["FirstName"] = ((TextBox)di.FindControl("First")).Text;
            dr["LastName"] = ((TextBox)di.FindControl("Last")).Text;
          }
        }
      }   // Save the changes if there are any.
       if (_dsContacts.HasChanges())
      {
        SaveContacts();
      }  BindContacts();
    }
      

  4.   

    过程:
    1)首先在datagrid的模板列中放入checkbox ,并且赋予id号(我的程序是CheckBox1)。
    2)遍历所有的行,找到被选中的行。
    3)取出作下一步操作。
    下面是vb代码        For i = 0 To Me.myDataGrid.Items.Count - 1
                Dim checkbox1 As CheckBox
                '查找CheckBox控件
                checkbox1 = Me.myDataGrid.Items(i).FindControl("CheckBox1")
                If (checkbox1.Enabled = True And checkbox1.Checked) Then
                     取出相关的数值,作下一步操作。
                End If
            Next
      

  5.   

    除非你用:ViewState或session保存你在上一页选取的内容,否则是不行的
      

  6.   

    superwxh (rzsh) 啊:
       今天早上我又调试了一下你说的问题。
       似乎在翻页的情况下问题不太好解决。主要问题是在使用翻页的过程中,数据表格要重新绑定。而且到新的一页后。 Me.myDataGrid.Items.Count 要重新赋值。原来选中的状态不保存。
        我给你一个思路,你参考一下。
        使用一个公共数组对象。public selectitems(20,10) as string
        20代表页数。比如: selectitems(2,3)代表第一页第3行的数据。
        用来存放已选中的项目所在的页和所选项目的唯一标识ID(或是其他数据)。
        在翻页事件触发时,在改变页PAGEINDEX之前,将本页所选项填入数组。在放入session.
        用session来保存和传递数据。
      

  7.   

    working1997(haha)说的最好了,而且性能也好,C#代码与VB代码还是很象的,你对应着改一改就行了