1

Crystal-Reportのデータから作成していますGridView。にGridViewは3つの列があり、2つの列にはラベルのデータベースからの値が入力されます。3番目の列にはチェックボックスがあり、チェック時にこれら2つの列の値をクエリ文字列としての.csページに送信しますCrystal-Report。列の値はストアドプロシージャによって使用され、結果はに表示されますCrystal-Report。ここで私の問題は、ユーザーが2つをチェックした場合、両方の列の値を配列としてページCheckBoxに送信する必要があることです。Crystal-Reportこれを実装する方法

GridViewページの後ろにある私のコードは

  protected void ChkCity_CheckedChanged(object sender, EventArgs e)
    {   
    foreach (GridViewRow row in gdCityDetail.Rows)
        {
 bool ischecked = ((System.Web.UI.WebControls.CheckBox)row.Cells[0].FindControl("CheckBox2")).Checked;
            if (ischecked == true) 
{
int getrow = Convert.ToInt32(e.CommandArgument);
  Label label1 = (Label )gdVilDetail.Rows[getrow].FindControl("label1");
                Label label2= (Label )gdVilDetail.Rows[getrow].FindControl("label2");

                Response.Redirect("~/crystal report/Landowner.aspx?Yojna=" + label1.text + "&Village=" + label2.text);

            }

の.csページのコードCrystal-Report

 private void cityreport()
    {
        SqlCommand Cmd = new SqlCommand("Showvillage", Constr1);
        Cmd.CommandType = CommandType.StoredProcedure;
        Cmd.Parameters.Add("@Yojna_No", Request.QueryString[0]);
        Cmd.Parameters.Add("@Village_Code", Request.QueryString[1]);
        DataSet ds = new DataSet();
4

2 に答える 2

2

文字列値を除いて、クエリ文字列を介して配列やその他のオブジェクトを渡すことはできないと思います。むしろ、セッション変数を使用できます。

これを試して..

1ページ目。

//Set
Session["Variable"] = ArrayObj;

2ページ目。

//If String[]

string[] arry = (string[])Session["Variable"];

それが役に立てば幸い..

于 2013-01-05T06:44:10.627 に答える
1

このリンクを確認してください。配列を使用してクエリ文字列で値を送信したコードがリンクにあります。私はそれを試していませんが、それでもうまくいくかもしれません。

http://www.codeproject.com/Questions/298718/array-in-query-string

于 2013-01-05T06:52:21.920 に答える