加入收藏 | 设为首页 | 会员中心 | 我要投稿 网站开发网_安阳站长网 (https://www.0518zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

创建完全可编辑的 DataGrid

发布时间:2021-07-17 22:03:32 所属栏目:站长百科 来源:互联网
导读:副标题#e# 在论坛中我看到过许多相同或相似的问题:我怎样在我的DataGrid的每一行中放置检查框、文本框等等?怎样更新它们的值?答案相当简单,在这篇文章中,我将向你展示如何完成它。 我们都知道,DataGrid是一个功能非常强大的工具。根据我的经验,在90%

private void btnUpdate_Click(object sender, System.EventArgs e)
{
  // 循环处理每个数据项.
  foreach (DataGridItem di in dgContacts.Items)
  {
    // 确信是数据项而不是页首或页尾.
    if (di.ItemType == ListItemType.Item || di.ItemType == ListItemType.AlternatingItem)
    {
      // 取得更新或删除操作执行以后的当前行.
      DataRow dr = _dsContacts.Tables["Contact"].Rows.Find(dgContacts.DataKeys[di.ItemIndex]);

// 检查是否需要删除某行.
      if (((CheckBox)di.FindControl("chkDelete")).Checked)
      {
        _dsContacts.Tables["Contact"].Rows.Remove(dr);//删除指定行
      }
      else
      {
        //更新数据行.
        dr["Email"] = ((TextBox)di.FindControl("Email")).Text;
        dr["FirstName"] = ((TextBox)di.FindControl("First")).Text;
        dr["LastName"] = ((TextBox)di.FindControl("Last")).Text;
      }
    }
  }

// 如果有变化则保存它.
   if (_dsContacts.HasChanges())
  {
    SaveContacts();
  }

BindContacts();//绑定
}

结束语

我可以很容易地通过控件的位置找到控件中每一个 DataGridItem的单元(Cells)。 有多种方法可以实现它, 我确信你可以找到完成这项任务的更好的方法。正如你所看到的, 一次编辑整个数据网格是非常简单的。 同样的方法经过轻微的修改也可用于分页网格

(编辑:网站开发网_安阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!