当用checkboxlis多选到gridview显示时,怎么并不能多选呀,只能单选。 gridview数据库控件 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CheckBox多选绑定GridView显示,实现批量删除和更新信息示例//GridView设置<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowDataBound="GridView1_RowDataBound" OnSelectedIndexChanging="GridView1_SelectedIndexChanging" Font-Size="9pt" AllowPaging="True" EmptyDataText="没有相关数据可以显示!" OnPageIndexChanging="GridView1_PageIndexChanging" CellPadding="4" ForeColor="#333333" GridLines="None"> <Columns> <asp:TemplateField> <ItemTemplate> <asp:CheckBox ID="cbSingleOrMore" runat="server" /> </ItemTemplate> </asp:TemplateField> <asp:BoundField DataField="id" HeaderText="信息ID" /> <asp:BoundField DataField="name" HeaderText="信息主题" /> <asp:BoundField DataField="type" HeaderText="信息分类" /> <asp:BoundField DataField="content" HeaderText="发布内容" /> <asp:BoundField DataField="userName" HeaderText="发布人" /> <asp:BoundField DataField="lineMan" HeaderText="联系人" /> <asp:BoundField DataField="issueDate" HeaderText="发布时间" DataFormatString="{0:d}" /> </Columns> <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" /> <RowStyle BackColor="#FFFBD6" ForeColor="#333333" /> <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" /> <PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Right" /> <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" /> <AlternatingRowStyle BackColor="White" /> </asp:GridView>//CheckBox设置<asp:CheckBox ID="cbAll" runat="server" AutoPostBack="True" Font-Size="9pt" OnCheckedChanged="cbAll_CheckedChanged" Text="全选/反选" /> <asp:Button ID="btnDeleteMore" runat="server" Font-Size="9pt" Text="部分删除或全部删除" OnClick="btnDeleteMore_Click" onload="btnDeleteMore_Load" Width="134px" /></td> <asp:Button ID="btnRre" runat="server" Font-Size="9pt" Text="取消部分或全部选择" OnClick="btnRre_Click" Width="126px" /> <asp:Button ID="btnUpdateTime" runat="server" onclick="btnUpdateTime_Click" Text="更新发布时间" />//cs页面功能设置 SqlConnection sqlcon; string strCon = ConfigurationManager.AppSettings["conStr"]; protected void Page_Load(object sender, EventArgs e)//加载绑定数据显示 { if (!IsPostBack) { this.GV_DataBind(); } } public void GV_DataBind() { string sqlstr = "select * from tb_inf "; sqlcon = new SqlConnection(strCon); SqlDataAdapter da = new SqlDataAdapter(sqlstr, sqlcon); DataSet ds = new DataSet(); sqlcon.Open(); da.Fill(ds, "tb_inf"); sqlcon.Close(); this.GridView1.DataSource = ds; this.GridView1.DataKeyNames = new string[] { "id" }; this.GridView1.DataBind(); if (GridView1.Rows.Count > 0) { return;//有数据,不要处理 } else//显示表头并显示没有数据的提示信息 { StrHelper.GridViewHeader(GridView1); } }//codego.net/tags/11/1///选择CheckBox protected void cbAll_CheckedChanged(object sender, EventArgs e) { for (int i = 0; i <= GridView1.Rows.Count - 1; i++) { CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("cbSingleOrMore"); if (cbAll.Checked == true) { cbox.Checked = true; } else { cbox.Checked = false; } } }//删除功能 protected void btnDeleteMore_Click(object sender, EventArgs e) { sqlcon = new SqlConnection(strCon);//创建数据库连接 SqlCommand sqlcom;//创建命令对象变量 for (int i = 0; i <= GridView1.Rows.Count - 1; i++)//循环遍历GridView控件每一项 { CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("cbSingleOrMore");//查找嵌套在GridView控件中的单选框 if (cbox.Checked == true)//如果操作为选中状态 { string strSql = "delete from tb_inf where id=@id";//定义带参数的删除语句 if (sqlcon.State.Equals(ConnectionState.Closed)) sqlcon.Open();//打开数据加连接 sqlcom = new SqlCommand(strSql, sqlcon);//创建执行删除操作的命令对象 SqlParameter prame = new SqlParameter("@id", SqlDbType.Int, 4);//定义参数 sqlcom.Parameters.Add(prame);//添加参数 sqlcom.Parameters["@id"].Value = GridView1.DataKeys[i].Value.ToString();//参数赋值 if (sqlcom.ExecuteNonQuery() > 0)//判断删除是否成功 { StrHelper.Alert("删除成功!"); } else { StrHelper.Alert("删除失败!"); } sqlcon.Close();//关闭数据库连接 } } GV_DataBind();//重新绑定数据控件 }//更新数据 protected void btnUpdateTime_Click(object sender, EventArgs e) { sqlcon = new SqlConnection(strCon);//创建数据库连接 SqlCommand sqlcom;//创建命令对象变量 for (int i = 0; i <= GridView1.Rows.Count - 1; i++)//循环遍历GridView控件每一项 { CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("cbSingleOrMore"); if (cbox.Checked == true) { string strSql = "Update tb_inf set issueDate=@UpdateTime where id=@id"; if (sqlcon.State.Equals(ConnectionState.Closed)) sqlcon.Open();//打开数据库连接 sqlcom = new SqlCommand(strSql, sqlcon); SqlParameter[] prams = { new SqlParameter("@UpdateTime",SqlDbType.DateTime), new SqlParameter("@id",SqlDbType.Int,4) }; prams[0].Value = DateTime.Now; prams[1].Value = GridView1.DataKeys[i].Value; foreach (SqlParameter parameter in prams) { sqlcom.Parameters.Add(parameter); } if (sqlcom.ExecuteNonQuery() > 0) { StrHelper.Alert("更新成功!"); } else { StrHelper.Alert("更新失败!"); } sqlcon.Close(); } } GV_DataBind(); }//执行索引操作protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e) { string id = this.GridView1.DataKeys[e.NewSelectedIndex].Value.ToString(); sqlcon = new SqlConnection(strCon); SqlCommand com = new SqlCommand("select [check] from tb_inf where id='" + id + "'", sqlcon); sqlcon.Open(); string count = Convert.ToString(com.ExecuteScalar()); if (count == "False") { count = "1"; } else { count = "0"; } com.CommandText = "update tb_inf set [check]=" + count + " where id=" + id; com.ExecuteNonQuery(); sqlcon.Close(); this.GV_DataBind(); } 超难问题!!求问关于Web IM的解决方案!!! 弹出这么一个框 Repeater显示 请问可以随机读取ACCESS表中的数据么? 这段代码报错,疑惑。。。 页面绝对定位 ==========字符串比较怎么做?? ASP.NET 2.0 session 调试时正常,部署时丢失数据 如何实现这个循环 ?? 【【【【**Asp.net中如何‘动态’的添加 DataGrid 控件啊 **】】】】 统一网段下的电脑不能上我通过IIS发布的网站 C#产生永不重复的随机数
//GridView设置
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowDataBound="GridView1_RowDataBound" OnSelectedIndexChanging="GridView1_SelectedIndexChanging" Font-Size="9pt" AllowPaging="True" EmptyDataText="没有相关数据可以显示!" OnPageIndexChanging="GridView1_PageIndexChanging" CellPadding="4" ForeColor="#333333" GridLines="None">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="cbSingleOrMore" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="id" HeaderText="信息ID" />
<asp:BoundField DataField="name" HeaderText="信息主题" />
<asp:BoundField DataField="type" HeaderText="信息分类" />
<asp:BoundField DataField="content" HeaderText="发布内容" />
<asp:BoundField DataField="userName" HeaderText="发布人" />
<asp:BoundField DataField="lineMan" HeaderText="联系人" />
<asp:BoundField DataField="issueDate" HeaderText="发布时间"
DataFormatString="{0:d}" />
</Columns>
<FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<RowStyle BackColor="#FFFBD6" ForeColor="#333333" />
<SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
<PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Right" />
<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
//CheckBox设置
<asp:CheckBox ID="cbAll" runat="server" AutoPostBack="True"
Font-Size="9pt" OnCheckedChanged="cbAll_CheckedChanged"
Text="全选/反选" />
<asp:Button ID="btnDeleteMore" runat="server" Font-Size="9pt"
Text="部分删除或全部删除" OnClick="btnDeleteMore_Click" onload="btnDeleteMore_Load"
Width="134px" /></td>
<asp:Button ID="btnRre" runat="server" Font-Size="9pt" Text="取消部分或全部选择"
OnClick="btnRre_Click" Width="126px" />
<asp:Button ID="btnUpdateTime" runat="server" onclick="btnUpdateTime_Click"
Text="更新发布时间" />
//cs页面功能设置
SqlConnection sqlcon;
string strCon = ConfigurationManager.AppSettings["conStr"];
protected void Page_Load(object sender, EventArgs e)//加载绑定数据显示
{
if (!IsPostBack)
{
this.GV_DataBind();
} }
public void GV_DataBind()
{
string sqlstr = "select * from tb_inf ";
sqlcon = new SqlConnection(strCon);
SqlDataAdapter da = new SqlDataAdapter(sqlstr, sqlcon);
DataSet ds = new DataSet();
sqlcon.Open();
da.Fill(ds, "tb_inf");
sqlcon.Close();
this.GridView1.DataSource = ds;
this.GridView1.DataKeyNames = new string[] { "id" };
this.GridView1.DataBind();
if (GridView1.Rows.Count > 0)
{
return;//有数据,不要处理
}
else//显示表头并显示没有数据的提示信息
{
StrHelper.GridViewHeader(GridView1);
}
}//codego.net/tags/11/1/
//选择CheckBox
protected void cbAll_CheckedChanged(object sender, EventArgs e)
{
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("cbSingleOrMore");
if (cbAll.Checked == true)
{
cbox.Checked = true;
}
else
{
cbox.Checked = false;
}
}
}
//删除功能
protected void btnDeleteMore_Click(object sender, EventArgs e)
{
sqlcon = new SqlConnection(strCon);//创建数据库连接
SqlCommand sqlcom;//创建命令对象变量
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)//循环遍历GridView控件每一项
{
CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("cbSingleOrMore");//查找嵌套在GridView控件中的单选框
if (cbox.Checked == true)//如果操作为选中状态
{
string strSql = "delete from tb_inf where id=@id";//定义带参数的删除语句
if (sqlcon.State.Equals(ConnectionState.Closed))
sqlcon.Open();//打开数据加连接
sqlcom = new SqlCommand(strSql, sqlcon);//创建执行删除操作的命令对象
SqlParameter prame = new SqlParameter("@id", SqlDbType.Int, 4);//定义参数
sqlcom.Parameters.Add(prame);//添加参数
sqlcom.Parameters["@id"].Value = GridView1.DataKeys[i].Value.ToString();//参数赋值
if (sqlcom.ExecuteNonQuery() > 0)//判断删除是否成功
{
StrHelper.Alert("删除成功!");
}
else
{
StrHelper.Alert("删除失败!");
}
sqlcon.Close();//关闭数据库连接
}
}
GV_DataBind();//重新绑定数据控件
}
//更新数据
protected void btnUpdateTime_Click(object sender, EventArgs e)
{
sqlcon = new SqlConnection(strCon);//创建数据库连接
SqlCommand sqlcom;//创建命令对象变量
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)//循环遍历GridView控件每一项
{
CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("cbSingleOrMore");
if (cbox.Checked == true)
{
string strSql = "Update tb_inf set issueDate=@UpdateTime where id=@id";
if (sqlcon.State.Equals(ConnectionState.Closed))
sqlcon.Open();//打开数据库连接
sqlcom = new SqlCommand(strSql, sqlcon);
SqlParameter[] prams = {
new SqlParameter("@UpdateTime",SqlDbType.DateTime),
new SqlParameter("@id",SqlDbType.Int,4)
};
prams[0].Value = DateTime.Now;
prams[1].Value = GridView1.DataKeys[i].Value;
foreach (SqlParameter parameter in prams)
{
sqlcom.Parameters.Add(parameter);
}
if (sqlcom.ExecuteNonQuery() > 0)
{
StrHelper.Alert("更新成功!");
}
else
{
StrHelper.Alert("更新失败!");
}
sqlcon.Close();
}
}
GV_DataBind();
}
//执行索引操作
protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
string id = this.GridView1.DataKeys[e.NewSelectedIndex].Value.ToString();
sqlcon = new SqlConnection(strCon);
SqlCommand com = new SqlCommand("select [check] from tb_inf where id='" + id + "'", sqlcon);
sqlcon.Open();
string count = Convert.ToString(com.ExecuteScalar());
if (count == "False")
{
count = "1";
}
else
{
count = "0";
}
com.CommandText = "update tb_inf set [check]=" + count + " where id=" + id;
com.ExecuteNonQuery();
sqlcon.Close();
this.GV_DataBind();
}