即使只选择了一个复选框,GridView复选框也会返回所有复选框 [英] GridView Checkbox bringing back all checkbox even if only one is selected

查看:111
本文介绍了即使只选择了一个复选框,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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆