DataGrid中checkbox取值问题。谢谢!
我是想把DataGrid里的值取出来放到DataTable 里,再写到session里传到下一页?代码如下:
<%@ Page Language="C#" ValidateRequest="False" enableEventValidation="false" Debug="true"%>
<%@ Import Namespace="QryRpt" %>
<%@ Import Namespace="QryRpt.com.util.db" %>
<%@ Import Namespace="System.Data" %>
<Script runat="server">
Mileage MileageObj = new Mileage();
public void Page_Load(System.Object Source,System.EventArgs e)
{
if (!Page.IsPostBack)
{
BindData();
}
}
//绑定数据
public void BindData()
{
DataTable tmpTB = new DataTable();
if(MileageObj.GetMileageList(companyID,ref tmpTB))
{
MyDataGrid.DataSource = tmpTB.DefaultView;
MyDataGrid.DataBind();
}
else
Response.Write("错误: "+MileageObj.ErrorMessage+"<br/>");
MyDataGrid.DataSource = tmpTB.DefaultView;
MyDataGrid.DataBind();
tmpTB.Dispose();
}
private void btnquery_Click(object sender, System.EventArgs e)
{
String SimID = "";
int CheckCount=0;
DataTable tmpTB = new DataTable();
DataTable dt = new DataTable();
if(MileageObj.GetMileageList(companyID,ref tmpTB))
{
MyDataGrid.DataSource = tmpTB.DefaultView;
MyDataGrid.DataBind();
}
foreach(DataGridItem di in this.MyDataGrid.Items)
{
// SimID = di.Cells[0].Text;
if(((CheckBox)di.FindControl("chkExport")).Checked=true)
{
CheckCount++;
}
for (int i = 0 ; i < CheckCount; i++){
SimID = MyDataGrid.DataKeys[Items.ItemIndex];//关键在此,
}
}
Session["SimID"]=SimID;
String url="MileageCountRst1.aspx";
Response.Redirect(url);
}
</Script>
<html>
<head>
<LINK href="../css/cystyle.css" type="text/css" rel="stylesheet">
<SCRIPT language=JavaScript src="../js/calendar.js"></SCRIPT>
</head>
<body MS_POSITIONING="GridLayout">
<form id="form1" action="MileageCountRst.aspx" method="post" runat="server">
<asp:DataGrid id="MyDataGrid" runat="server" Align="center" Width="80%">
<Columns>
<asp:TemplateColumn HeaderText="选择">
<ItemTemplate>
<asp:CheckBox id="chkExport" runat="server" value='<%#DataBinder.Eval(Container.DataItem,"SimID")%>'></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
</asp:datagrid>
<asp:button id="btnquery" onclick="btnquery_Click" runat="server" text="提交" ></asp:button>
</form>
</body>
</html>