DataGrid中checkbox取值问题。谢谢!

zhaoshuhong 2006-04-27 04:30:31
我是想把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>
...全文
205 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaoshuhong 2006-04-28
  • 打赏
  • 举报
回复
up
zhaoshuhong 2006-04-28
  • 打赏
  • 举报
回复
不要沉啊!
zhaoshuhong 2006-04-27
  • 打赏
  • 举报
回复
就是不知道怎么在DataGrid中怎么把已经选中的项的值取出来放在DataTable中。
错误信息:
Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS0117: 'System.Collections.IDictionary' does not contain a definition for 'ItemIndex'

Source Error:



Line 164: }
Line 165: for (int i = 0 ; i < CheckCount; i++){
Line 166: SimID = MyDataGrid.DataKeys[Items.ItemIndex];
Line 167: }
Line 168:

也放错的不只是这句话!:)
liru 2006-04-27
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/4659/4659587.xml?temp=.3742029
看看这篇吧
Ripple_wang 2006-04-27
  • 打赏
  • 举报
回复
參考:
<asp:CheckBox ="chkExport" Checked='<%# (bool)DataBinder.Eval(Container.DataItem, "SimID") %>'
Lcindep110 2006-04-27
  • 打赏
  • 举报
回复
SimID = MyDataGrid.DataKeys[Items.ItemIndex];//关键在此,
这里的Items.ItemIndex应改为di.ItemIndex吧

你没有粘出具体错误,不知是不是这里错了。
zhaoshuhong 2006-04-27
  • 打赏
  • 举报
回复
自己顶!

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧