0

検索 textBox (ストアド プロシージャを使用) をグリッド ビューにバインドしようとしていますが、それらを実行して検索条件を入力すると、結果が表示されず、GridView 自体が表示されません。DataAdapter と DataSet を使用して検索 textBox の結果を入力し、DataSet を GridView にバインドするなど、多くの方法を試しました。しかし、それは機能しませんでした。コードは次のとおりです。

 protected void SearchButton_Click(object sender, EventArgs e)
    try

    {

    string con_str = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
    SqlConnection con = new SqlConnection(con_str);

    SqlCommand com = new SqlCommand("dbo.SearchRecords", con);
    com.CommandType = CommandType.StoredProcedure;
    SqlParameter pDocumentTitle = new SqlParameter("@Doc_Title", SearchTextBox.Text);
    SqlParameter pUserID = new SqlParameter("@User_ID", SearchTextBox.Text);
    SqlParameter pDocumentType = new SqlParameter("@Doc_Type", SearchTextBox.Text);
    SqlParameter pDocumentDescription = new SqlParameter("@Doc_Description",SearchTextBox.Text);

    com.Parameters.Add(pDocumentTitle);
    com.Parameters.Add(pUserID);
    com.Parameters.Add(pDocumentType);
    com.Parameters.Add(pDocumentDescription);

    con.Open();
    SqlDataAdapter DA = new SqlDataAdapter(com); 
    com.ExecuteNonQuery();

    DataSet t = new DataSet();
    DA.Fill(t);

    GridView1.DataBind();

    GridView1.DataSource = t;


    }
    catch (Exception ex)
    {
    Label2.Text = ex.Message;
    //throw;
    }
    }
4

3 に答える 3

1

私は間違っているかもしれませんが、DataSource プロパティを設定した後に DataBind() を呼び出す必要はありませんか? 例えば

GridView1.DataSource = t;
GridView1.DataBind();
于 2012-10-23T11:30:49.930 に答える
0

次のようにバインディングの順序を変更する必要があります... DataSource を Any DataControl に割り当てた後は常に DataBind() を記述します。

GridView1.DataSource = t;
GridView1.DataBind();
于 2012-10-23T11:31:19.387 に答える