在提交按钮里处理:For i = 0 To DG.Items.Count - 1Dim ChkBox As New CheckBox() ChkBox = CType(DG.Items(i).FindControl("MyGroup"), CheckBox) Id = CType(DG.Items(i).FindControl("Id"), Label).Text '隐藏的列存储对应记录的idIf ChkBox.Enabled = True Then If ChkBox.Checked = True Then 调用存储过程处理True Else 调用存储过程处理false End If End IfNext在datagrid需要一个隐藏的列,存储id 调用存储过程时要传参数 id,choiced不知道你看不看得明白!
请教关于datalist的问题?
我有一张表,如:
----------------------------
id name chioced
----------------------------
1 user1 0
2 user2 0
3 user3 1
......
----------------------------
注:chioced是bool型的,0表示为假,而1表示为真。 我在input.aspx中的相关代码为:
......
<asp:datalist id="dlDoInput" runat="server" Font-Size="Smaller" CellPadding="4" BorderColor="black" Width="100%" GridLines="Both" BorderWidth="1" RepeatColumns="4">
<HeaderTemplate>
<P>名称列表</P>
</HeaderTemplate>
<ItemTemplate>
名称:<%# DataBinder.Eval(Container.DataItem, "name", "{0:d}") %><BR>
是否选择:<asp:CheckBox id=chk1 Checked='<%# (bool)DataBinder.Eval(Container.DataItem, "choiced") %>' runat=server/> </ItemTemplate>
</asp:datalist>
...... 在input.aspx.cs中进行了数据绑定。
......
public void BindGrid()
{
//连接SQL SERVER2000数据库MyData
string strConnection = "Data Source=Localhost;Initial Catalog=MyData;User ID=sa;Pwd=;";
SqlConnection objConnection = new SqlConnection(strConnection);
objConnection.Open(); string strSQL2 = "SELECT * FROM qzb";
SqlDataAdapter objDataAdapter2 = new SqlDataAdapter(strSQL2,objConnection);
objDataAdapter2.Fill(objDataSet,"qzb");
DataView objDataView2 = new DataView(objDataSet.Tables["qzb"]); dlDoInput.DataSource = objDataView2;
dlDoInput.DataBind();
}
...... 现在的问题是,我能够在网页中看到chioced的值是以checkbox的样子显示出来的,但我如何对它进行修改,我指的是一次性更改多个值后一起提交,修改chioced数据值,如何实现呢?
当一个表格绑定到一个XML的时候,里面的勾选框会根据内容0或1,TRUE或FALSE自动不选 或选。好像DATAGRID控件绑定DATASET的时候也能实现的吧?
或者先记录勾引框的状态,保存在一个隐藏域里,当点击勾选框的时候,更新先前记录的状态。
用XML也可以。
在提交按钮里处理:For i = 0 To DG.Items.Count - 1Dim ChkBox As New CheckBox()
ChkBox = CType(DG.Items(i).FindControl("MyGroup"), CheckBox)
Id = CType(DG.Items(i).FindControl("Id"), Label).Text '隐藏的列存储对应记录的idIf ChkBox.Enabled = True Then
If ChkBox.Checked = True Then
调用存储过程处理True
Else
调用存储过程处理false
End If
End IfNext在datagrid需要一个隐藏的列,存储id
调用存储过程时要传参数 id,choiced不知道你看不看得明白!