即使只选择了一个复选框,GridView复选框也会返回所有复选框 [英] GridView Checkbox bringing back all checkbox even if only one is selected
本文介绍了即使只选择了一个复选框,GridView复选框也会返回所有复选框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
#region GetJobs
protected void GetJobs()
{
try
{
int index = 0 ;
CheckBox cb = new CheckBox();
会话[ ReportConnectionString] = ,;
while (index < GridViewSearch.Rows.Count)
{
GridViewRow checkedRow = GridViewSearch.Rows [index];
cb =(CheckBox)checkedRow.FindControl( CheckBoxEdit);
if (cb.Checked == true )
Session [ ReportConnectionString] =会话[ ReportConnectionString]。ToString()+ GridViewSearch.DataKeys [index] .Values [ AreaId]。ToString()+ , ;
index ++;
}
}
catch (例外情况)
{
}
}
#endregionGetJobs
#region ButtonSelect_Click
protected void ButtonSelect_Click( object sender,EventArgs e)
{
try
{
CheckBox cb = new CheckBox();
foreach (GridViewRow row in GridViewSearch.Rows)
{
cb =(CheckBox)row.FindControl( CheckBoxEdit);
if (!cb.Checked)
cb.Checked = true ;
else
cb.Checked = false ;
}
}
catch (例外情况)
{
}
}
#endregion ButtonSelect_Click
protected void ButtonPrint_Click( object sender,EventArgs e)
{
尝试
{
GetJobs();
会话[ FromURL] = 〜/ Reports / SpaceUtilised.aspx;
会话[ ReportName] = Spaceused;
Microsoft.Reporting.WebForms.ReportParameter [] RptParameters = new Microsoft.Reporting.WebForms.ReportParameter [ 5 跨度>];
// 创建ConnectionString报告参数
// string areaId = Session [ReportConnectionString]。ToString();
// RptParameters [0] = new Microsoft.Reporting.WebForms.ReportParameter(ConnectionString,areaId);
string areaId = Session [ ReportConnectionString ]的ToString();
RptParameters [ 0 ] = new Microsoft.Reporting.WebForms.ReportParameter( ConnectionString,areaId);
// 创建WarehouseId报告参数
RptParameters [< span class =code-digit> 1 ] = new Microsoft.Reporting.WebForms.ReportParameter( WarehouseId,会话[ WarehouseId 跨度>]的ToString());
// 创建AreaId报告参数
RptParameters [< span class =code-digit> 2 ] = new Microsoft.Reporting.WebForms.ReportParameter( AreaId,会话[ AreaId 跨度>]的ToString());
RptParameters [ 3 ] = new Microsoft.Reporting.WebForms.ReportParameter( ServerName,会话[ < span class =code-string> ServerName]。ToString());
RptParameters [ 4 ] = new Microsoft.Reporting.WebForms.ReportParameter( DatabaseName,会话[ < span class =code-string> DatabaseName]。ToString());
会话[ ReportConnectionString] = 空跨度>;
会话[ ReportParameters] = RptParameters;
Response.Redirect( 〜/ Reports / Report.aspx) ;
}
catch {}
}
从下面的非解决方案复制的其他信息
我试图打印出所有选中的复选框
我的gridview正在选择,我把它更改为复选框现在它不工作
这是旧代码选择的是什么:
受保护 void Page_Load( object sender,EventArgs e)
{
if (!Page.IsPostBack)
会话[ AreaId ] = -1;
}
受保护 void ButtonPrint_Click( object sender,EventArgs e)
{
try
{
Session [ FromURL] = 〜/报告/ SpaceUtilised.aspx跨度>;
会话[ ReportName] = Spaceused;
Microsoft.Reporting.WebForms.ReportParameter [] RptParameters = new Microsoft.Reporting.WebForms.ReportParameter [ 5 跨度>];
// 创建ConnectionString报告参数
string strReportConnectionString = Session [ ReportConnectionString]。ToString ();
RptParameters [ 0 ] = new Microsoft.Reporting.WebForms.ReportParameter( ConnectionString,strReportConnectionString);
// 创建WarehouseId报告参数
RptParameters [< span class =code-digit> 1 ] = new Microsoft.Reporting.WebForms.ReportParameter( WarehouseId,会话[ WarehouseId 跨度>]的ToString());
// 创建AreaId报告参数
RptParameters [< span class =code-digit> 2 ] = new Microsoft.Reporting.WebForms.ReportParameter( AreaId,会话[ AreaId 跨度>]的ToString());
RptParameters [ 3 ] = new Microsoft.Reporting.WebForms.ReportParameter( ServerName,会话[ < span class =code-string> ServerName]。ToString());
RptParameters [ 4 ] = new Microsoft.Reporting.WebForms.ReportParameter( DatabaseName,会话[ < span class =code-string> DatabaseName]。ToString());
会话[ ReportParameters] = RptParameters;
Response.Redirect( 〜/ Reports / Report.aspx) ;
}
catch {}
}
protected void CheckBoxAll_OnCheckedChanged( object sender,EventArgs e)
{
if (CheckBoxAll.Checked)
{
Session [ AreaId] = -1;
AreaSearch1.Visible = false ;
}
else
AreaSearch1.Visible = true ;
}
然后我不得不将其更改为复选框,因为我希望能够选择多行
解决方案
我试图打印出所有选中的复选框
我的gridview正在选择,我现在将其更改为复选框工作
这是选择的旧代码:
受保护 void Page_Load( object sender,EventArgs e)
{
if (! Page.IsPostBack)
会话[ AreaId] = -1;
}
受保护 void ButtonPrint_Click( object sender,EventArgs e)
{
try
{
Session [ FromURL] = 〜/报告/ SpaceUtilised.aspx跨度>;
会话[ ReportName] = Spaceused;
Microsoft.Reporting.WebForms.ReportParameter [] RptParameters = new Microsoft.Reporting.WebForms.ReportParameter [ 5 跨度>];
// 创建ConnectionString报告参数
string strReportConnectionString = Session [ ReportConnectionString]。ToString ();
RptParameters [ 0 ] = new Microsoft.Reporting.WebForms.ReportParameter( ConnectionString,strReportConnectionString);
// 创建WarehouseId报告参数
RptParameters [< span class =code-digit> 1 ] = new Microsoft.Reporting.WebForms.ReportParameter( WarehouseId,会话[ WarehouseId 跨度>]的ToString());
// 创建AreaId报告参数
RptParameters [< span class =code-digit> 2 ] = new Microsoft.Reporting.WebForms.ReportParameter( AreaId,会话[ AreaId 跨度>]的ToString());
RptParameters [ 3 ] = new Microsoft.Reporting.WebForms.ReportParameter( ServerName,会话[ < span class =code-string> ServerName]。ToString());
RptParameters [ 4 ] = new Microsoft.Reporting.WebForms.ReportParameter( DatabaseName,会话[ < span class =code-string> DatabaseName]。ToString());
会话[ ReportParameters] = RptParameters;
Response.Redirect( 〜/ Reports / Report.aspx) ;
}
catch {}
}
protected void CheckBoxAll_OnCheckedChanged( object sender,EventArgs e)
{
if (CheckBoxAll.Checked)
{
Session [ AreaId] = -1;
AreaSearch1.Visible = false ;
}
else
AreaSearch1.Visible = true ;
}
}
然后我不得不将其更改为复选框,因为我希望能够选择多个行
#region GetJobs
protected void GetJobs()
{
try
{
int index = 0;
CheckBox cb = new CheckBox();
Session["ReportConnectionString"] = ",";
while (index < GridViewSearch.Rows.Count)
{
GridViewRow checkedRow = GridViewSearch.Rows[index];
cb = (CheckBox)checkedRow.FindControl("CheckBoxEdit");
if (cb.Checked == true)
Session["ReportConnectionString"] = Session["ReportConnectionString"].ToString() + GridViewSearch.DataKeys[index].Values["AreaId"].ToString() + ",";
index++;
}
}
catch (Exception ex)
{
}
}
#endregion "GetJobs"
#region ButtonSelect_Click
protected void ButtonSelect_Click(object sender, EventArgs e)
{
try
{
CheckBox cb = new CheckBox();
foreach (GridViewRow row in GridViewSearch.Rows)
{
cb = (CheckBox)row.FindControl("CheckBoxEdit");
if (!cb.Checked)
cb.Checked = true;
else
cb.Checked = false;
}
}
catch (Exception ex)
{
}
}
#endregion ButtonSelect_Click
protected void ButtonPrint_Click(object sender, EventArgs e)
{
try
{
GetJobs();
Session["FromURL"] = "~/Reports/SpaceUtilised.aspx";
Session["ReportName"] = "Space Utilised";
Microsoft.Reporting.WebForms.ReportParameter[] RptParameters = new Microsoft.Reporting.WebForms.ReportParameter[5];
// Create the ConnectionString report parameter
//string areaId = Session["ReportConnectionString"].ToString();
//RptParameters[0] = new Microsoft.Reporting.WebForms.ReportParameter("ConnectionString", areaId);
string areaId = Session["ReportConnectionString"].ToString();
RptParameters[0] = new Microsoft.Reporting.WebForms.ReportParameter("ConnectionString", areaId);
// Create the WarehouseId report parameter
RptParameters[1] = new Microsoft.Reporting.WebForms.ReportParameter("WarehouseId", Session["WarehouseId"].ToString());
// Create the AreaId report parameter
RptParameters[2] = new Microsoft.Reporting.WebForms.ReportParameter("AreaId", Session["AreaId"].ToString());
RptParameters[3] = new Microsoft.Reporting.WebForms.ReportParameter("ServerName", Session["ServerName"].ToString());
RptParameters[4] = new Microsoft.Reporting.WebForms.ReportParameter("DatabaseName", Session["DatabaseName"].ToString());
Session["ReportConnectionString"] = null;
Session["ReportParameters"] = RptParameters;
Response.Redirect("~/Reports/Report.aspx");
}
catch { }
}
additional information copied from non-solution below
Im trying to print out all selected checkbox
My gridview was selecting and I changed it to checkbox now its not working
THIS WAS THE OLD CODE WHICH WAS SELECTING:
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
Session["AreaId"] = -1;
}
protected void ButtonPrint_Click(object sender, EventArgs e)
{
try
{
Session["FromURL"] = "~/Reports/SpaceUtilised.aspx";
Session["ReportName"] = "Space Utilised";
Microsoft.Reporting.WebForms.ReportParameter[] RptParameters = new Microsoft.Reporting.WebForms.ReportParameter[5];
// Create the ConnectionString report parameter
string strReportConnectionString = Session["ReportConnectionString"].ToString();
RptParameters[0] = new Microsoft.Reporting.WebForms.ReportParameter("ConnectionString", strReportConnectionString);
// Create the WarehouseId report parameter
RptParameters[1] = new Microsoft.Reporting.WebForms.ReportParameter("WarehouseId", Session["WarehouseId"].ToString());
// Create the AreaId report parameter
RptParameters[2] = new Microsoft.Reporting.WebForms.ReportParameter("AreaId", Session["AreaId"].ToString());
RptParameters[3] = new Microsoft.Reporting.WebForms.ReportParameter("ServerName", Session["ServerName"].ToString());
RptParameters[4] = new Microsoft.Reporting.WebForms.ReportParameter("DatabaseName", Session["DatabaseName"].ToString());
Session["ReportParameters"] = RptParameters;
Response.Redirect("~/Reports/Report.aspx");
}
catch { }
}
protected void CheckBoxAll_OnCheckedChanged(object sender, EventArgs e)
{
if (CheckBoxAll.Checked)
{
Session["AreaId"] = -1;
AreaSearch1.Visible = false;
}
else
AreaSearch1.Visible = true;
}
Then I had to change it to checkbox because I want to be able to select multiple rows
解决方案
Im trying to print out all selected checkbox
My gridview was selecting and I changed it to checkbox now its not working
THIS WAS THE OLD CODE WHICH WAS SELECTING:
protected void Page_Load(object sender, EventArgs e) { if(!Page.IsPostBack) Session["AreaId"] = -1; } protected void ButtonPrint_Click(object sender, EventArgs e) { try { Session["FromURL"] = "~/Reports/SpaceUtilised.aspx"; Session["ReportName"] = "Space Utilised"; Microsoft.Reporting.WebForms.ReportParameter[] RptParameters = new Microsoft.Reporting.WebForms.ReportParameter[5]; // Create the ConnectionString report parameter string strReportConnectionString = Session["ReportConnectionString"].ToString(); RptParameters[0] = new Microsoft.Reporting.WebForms.ReportParameter("ConnectionString", strReportConnectionString); // Create the WarehouseId report parameter RptParameters[1] = new Microsoft.Reporting.WebForms.ReportParameter("WarehouseId", Session["WarehouseId"].ToString()); // Create the AreaId report parameter RptParameters[2] = new Microsoft.Reporting.WebForms.ReportParameter("AreaId", Session["AreaId"].ToString()); RptParameters[3] = new Microsoft.Reporting.WebForms.ReportParameter("ServerName", Session["ServerName"].ToString()); RptParameters[4] = new Microsoft.Reporting.WebForms.ReportParameter("DatabaseName", Session["DatabaseName"].ToString()); Session["ReportParameters"] = RptParameters; Response.Redirect("~/Reports/Report.aspx"); } catch { } } protected void CheckBoxAll_OnCheckedChanged(object sender, EventArgs e) { if (CheckBoxAll.Checked) { Session["AreaId"] = -1; AreaSearch1.Visible = false; } else AreaSearch1.Visible = true; } }
Then I had to change it to checkbox because I want to be able to select multiple rows
这篇关于即使只选择了一个复选框,GridView复选框也会返回所有复选框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文