在Gridview中用checkbox添加数据到数据库中。C#
我正在做一个志愿者活动选择网站,当志愿者登录之后,会在Gridview中显示所有可以选择的志愿活动,在一个Gridview的模板中有一排checkbox,如果是张三登录后,看到显示的活动后想参加其中的活动,点击活动后面对应的checkbox,则将这一操作的结果保存到数据库中,如果张三想看到自己选择的活动,点击button按钮,则Gridview中显示张三选择的活动信息;如果是李四登录后可以做相同的操作。我的系统中有个中间表,里面有活动ID、志愿者ID、以及主键ID。大家谁能告诉我代码应该怎么写么,或者谁做过类似的系统发给我好么。zhengmiaomiao530@126.com我的邮箱,谢谢了!比较急!! --------------------编程问答-------------------- 第一张表志愿者id,姓名name,身份证(card)
第二张表活动hid,活动名称hname,说明(content)
中间表中间表id,hid,id
然后就是登录时用校验姓名和身份证号,点击checkbox提交到中间表
重现时,读取中间表where id ='想要的人'即可。 --------------------编程问答-------------------- --------------------编程问答-------------------- 百度一下。清清月儿 GridView 72秘籍 --------------------编程问答-------------------- 1,从数据库中读取活动;
2,把读取的值显示在控件里;
3,根据选择判断,if checked?把值存放到list中;
4,绑定sql语句,insert into 。。。。。
仅供参考。 --------------------编程问答--------------------
用js代码实现在Gridview中的批量删除:--------------------编程问答-------------------- 插入原理一样。
前台代码:
View Code
<title>无标题页</title>
<script language="javascript" type="text/javascript">
var check = document.getElementsByName("Checkbox1");
window.onload= function()
{
for(var i = 0; i<check.length;i++)
{
check[i].onclick=chkclick;
}
}
function chkclick()
{
var checkList = "";
for(var i = 0; i <check.length ;i++)
{
if(check[i].checked)
{
checkList=checkList +check[i].value+",";
}
}
document.getElementById("HiddenField1").value =checkList.substring(0,checkList.length -1);
}
function checkAll()
{
var checkList="";
var chk = document.getElementById("Checkbox11");
if(chk.checked)
{
for(var i =0;i<check.length ;i++)
{
check[i].checked=true;
checkList=checkList +check[i].value+",";
}
document.getElementById("HiddenField1").value=checkList.substring(0,checkList.length -1);
}
else
{
for(var i =0;i<check.length ;i++)
{
check[i].checked =false ;
document.getElementById("HiddenField1").value="";
}
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField HeaderText="全选">
<ItemTemplate>
<input name="Checkbox1" type="checkbox" value='<%#Eval("CustomerID") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="CustomerID" HeaderText="CustomerID" />
<asp:BoundField DataField="CompanyName" HeaderText="CompanyName" />
<asp:BoundField DataField="ContactName" HeaderText="ContactName" />
<asp:BoundField DataField="ContactTitle" HeaderText="ContactTitle" />
</Columns>
</asp:GridView>
</div>
<asp:HiddenField ID="HiddenField1" runat="server" />
<asp:Button ID="Button1" runat="server" Text="Button"
onclick="Button1_Click" />
<input id="Checkbox11" type="checkbox" onclick="checkAll()" /></form>
</body>
后台代码:
后台代码
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
databind();
}
}
public void databind()
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Conn"].ToString());
SqlCommand cmd = new SqlCommand("SELECT top 6 * FROM CUSTOMERS", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
this.GridView1.DataSource = ds.Tables[0];
this.GridView1.DataKeyNames = new string[] { "CustomerID", "City" };
this.GridView1.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Conn"].ToString());
con.Open();
string strvalue = this.HiddenField1.Value;
string[] strArray = strvalue.Split(',');
for (int i = 0; i < strArray.Length; i++)
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "delete from Customers where CustomerID='" + strArray[i] + "'";
cmd.ExecuteNonQuery();
}
databind();
}
补充:.NET技术 , C#