DataGridView 数据用List绑定的,在DataGridView第一列有个复选框,现在要将复选框选中的行数据批量修改如

如何获得复选框选中的数据,并将数据批量的修改,最好有示例代码... 如何获得复选框选中的数据,并将数据批量的修改,最好有示例代码 展开
 我来答
tanliping192
2011-03-31 · TA获得超过129个赞
知道小有建树答主
回答量:173
采纳率:0%
帮助的人:107万
展开全部
对所有行做一个遍历,挨个判断
具体代码如下:
页面文件
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="GirdView_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView runat="server" ID="gv" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="选择">
<ItemTemplate>
<asp:CheckBox ID="chkSelect" runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="ID" HeaderText="ID" />
<asp:TemplateField HeaderText="姓名">
<ItemTemplate>
<asp:TextBox ID="txtName" runat="server" Text='<%#Eval("Name") %>'>
</asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:Button ID="btnModify" runat="server" OnClick="btnModify_Click" Text="修改" />
</div>
</form>
</body>
</html>
代码文件:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class GirdView_Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGV();
}
}
private void BindGV()
{
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name", typeof(string));
for (int i = 1; i <= 10; i++)
{
DataRow dr = dt.NewRow();
dr["ID"] = i;
dr["Name"] = "Name" + i.ToString();
//dt.Rows[i - 1]["ID"] = i;
//dt.Rows[i - 1]["Name"] = "Name" + i.ToString();
dt.Rows.Add(dr);
}
gv.DataSource = dt.DefaultView;
gv.DataBind();
}
protected void btnModify_Click(object sender, EventArgs e)
{
string strMsg = "修改成功!";
foreach (GridViewRow row in gv.Rows)
{
CheckBox chk = (CheckBox)row.FindControl("chkSelect");
TextBox txtName = (TextBox)row.FindControl("txtName");
if (chk.Checked)
{
int iID = int.Parse(row.Cells[1].Text);
string strName = txtName.Text;
//修改代码
//……
//结束
strMsg += @"\r\nID:" + iID.ToString() + ",Name:" + txtName.Text;
}
}
ClientScript.RegisterClientScriptBlock(GetType(), "ss", "<script>alert('" + @strMsg + "');</script>");
}
}
roxland
2011-03-31 · 超过22用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:55.2万
展开全部
if (dataGridView2.RowCount > 0)
{

for (int i = 0; i < dataGridView2.RowCount; i++)
{
object _svalue = dataGridView2.Rows[i].Cells["Check"].Value;
if (_svalue != null && _svalue.ToString() != "")
{
if (_svalue.ToString() == "1")
{
//修改数据
dataGridView2.Rows[i].Cells["UserName"].Value="更改数据";

}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式