单击按钮时执行了一遍PageLoad,DataGrid.Bind()时又执行了一遍。

解决方案 »

  1.   

    如不用DataGrid.dataBind()又怎么将检索回来的数据绑定到DataGrid上呢?请指教!
      

  2.   

    Pageloade 里面這樣寫(C#)
    if(!IsPostBack)
    {
      DataGrid1....//數據綁定;
    }
      

  3.   

    private void Page_Load(object sender, System.EventArgs e)
    {
    if (!IsPostBack)
    {
    char[]chararray={">","<","="};
    cbolm.Items.Clear();
    cbotj.Items.Clear();
    cbolm.Items.Add("工程编号");
    cbolm.Items.Add("工程名称");
    cbolm.Items.Add("建设单位");
    for (int i=0;i<chararray.Length;i++)
    {
    cbotj.Items.Add(chararray[i]);
    }
    grid.AllowPaging=true;
    BindDataGrid();
    }
    } #region Web 窗体设计器生成的代码
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {    
    this.grid.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.grid_PageIndexChanged);
    this.Button1.Click += new System.EventHandler(this.Button1_Click);
    this.Load += new System.EventHandler(this.Page_Load); }
    #endregion

    private void BindDataGrid()
    {
    SqlConnection cnn=new SqlConnection("workstation id=EEE;packet size=4096;user id=sa;data source=EEE;persist security info=False;initial catalog=New");
    cnn.Open();
    SqlDataAdapter sd=new SqlDataAdapter("select * from base工程",cnn);
    DataSet ds=new DataSet();
    sd.Fill(ds,0,0,"base工程");
    grid.DataSource=ds.Tables["base工程"].DefaultView;
    grid.DataBind();
    cnn.Close();
    }
    private void grid_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
    {
    grid.CurrentPageIndex =e.NewPageIndex;
    BindDataGrid();
    } private void Button1_Click(object sender, System.EventArgs e)
    {
    try
    { SqlConnection cnn=new SqlConnection("workstation id=EEE;packet size=4096;user id=sa;data source=EEE;persist security info=False;initial catalog=New");
    cnn.Open();
    SqlCommand cmd=cnn.CreateCommand();
    cmd.CommandText="select * form base工程  where "+cbolm.SelectedItem.Text+""+cbotj.SelectedItem.Text+" '"+txtvalue.Text.Trim()+"'";
    SqlDataReader myread= cmd.ExecuteReader();
    grid.DataSource=myread;
    grid.DataBind();
    cnn.Close();
    string thestr;
    thestr="select * form base工程  where "+cbolm.SelectedItem.Text+""+cbotj.SelectedItem.Text+" '"+txtvalue.Text.ToString()+"'";
    SqlDataAdapter sd =new SqlDataAdapter(thestr,cnn);
    DataSet ds=new DataSet();
    sd.Fill(ds,"base工程");
    grid.DataSource=ds;
    grid.DataMember="base工程"; 
    grid.DataBind(); 
    cnn.Close();
    }
    catch (SqlException ex)
    {
    ex.Message.ToString();
    }
    }
      

  4.   

    private void Page_Load(object sender, System.EventArgs e)
    {
       if (!IsPostBack)
          {
    char[]chararray={">","<","="};
    cbolm.Items.Clear();
    cbotj.Items.Clear();
    cbolm.Items.Add("工程编号");
    cbolm.Items.Add("工程名称");
    cbolm.Items.Add("建设单位");
    for (int i=0;i<chararray.Length;i++)
    {
    cbotj.Items.Add(chararray[i]);
    }
    grid.AllowPaging=true;
    BindDataGrid();
    }
    }
    private void BindDataGrid()
    {
                SqlConnection cnn=new SqlConnection("workstation id=EEE;packet        size=4096;userid=sa;data source=EEE;persist security info=False;initial catalog=New");
               cnn.Open();
      SqlDataAdapter sd=new SqlDataAdapter("select * from base工程",cnn);
      DataSet ds=new DataSet();
      sd.Fill(ds,0,0,"base工程");
      grid.DataSource=ds.Tables["base工程"].DefaultView;
      grid.DataBind();
      cnn.Close();
    }private void Button1_Click(object sender, System.EventArgs e)
    {
        try
    {  SqlConnection cnn=new SqlConnection("workstation id=EEE;packet size=4096;user id=sa;data source=EEE;persist security info=False;initial catalog=New");
    cnn.Open();
    SqlCommand cmd=cnn.CreateCommand();
    cmd.CommandText="select * form base工程  where "+cbolm.SelectedItem.Text+""+cbotj.SelectedItem.Text+" '"+txtvalue.Text.Trim()+"'";
    SqlDataReader myread= cmd.ExecuteReader();
    grid.DataSource=myread;
    grid.DataBind();
    cnn.Close();
    string thestr;
    thestr="select * form base工程  where "+cbolm.SelectedItem.Text+""+cbotj.SelectedItem.Text+" '"+txtvalue.Text.ToString()+"'";
    SqlDataAdapter sd =new SqlDataAdapter(thestr,cnn);
    DataSet ds=new DataSet();
    sd.Fill(ds,"base工程");
    grid.DataSource=ds;
    grid.DataMember="base工程"; 
    grid.DataBind(); 
    cnn.Close();
        }
    catch (SqlException ex)
    {
    ex.Message.ToString();
    }
    } 我这样写为何还不好使,为什么,请高手指教,谢谢!
      

  5.   

    有什么不好使??具體點 
    "select * form base工程  where "+cbolm.SelectedItem.Text+""+cbotj.SelectedItem.Text+" '"+txtvalue.Text.Trim()+"'";

    "select * form base工程  where "+cbolm.SelectedItem.Text+""+cbotj.SelectedItem.Text+" '"+txtvalue.Text.ToString()+"'";
    是不是有問題?
    where 條件連接的and 上那里去了?"base工程  "最好用字母