private void getbindDataGrid()
{
cn= new SqlConnection(ConfigurationSettings.AppSettings["ds"]);
string strSQL="select medicine_id,medicine_name,medicine_price,medicine_stocks,medicine_end_date,ms.medicine_sort_name,s.storage_name,total=(medicine_price*medicine_stocks) from medicine m,medicineSort ms,storage s where m.medicine_sort_id=ms.medicine_sort_id and m.storage_id=s.storage_id and m.medicine_name like '%"+m_name.Text+"%'";//这里你可以设置你在TextBox中输入的查询信息,点击确定按钮触发下面的事件。这里是模糊查询。
da = new SqlDataAdapter(strSQL,cn);
cm = new SqlCommand(strSQL,cn);
ds = new DataSet();
cn.Open();
dr = cm.ExecuteReader();
if(dr.Read())
{
dr.Close();
da.Fill(ds);
DataGrid1.DataSource=ds;
DataGrid1.DataBind();
message.InnerHtml="";
}
else
{
message.InnerHtml="<font size='2' color='red'><b>无此药品!请重新查找!</b></font>";
DataGrid1.Visible=false;
}
cn.Close();
}private void btnFind_Click(object sender, System.EventArgs e)
{
getbindDataGrid();
}

解决方案 »

  1.   

    比如你专门写一个用来邦定DataGrid的方法!参数就是一个Select语句!
    private void binddatagrid(string select){
       //在这之前重新执行Select
       this.DataGrid1.DataSource = datatable;
       this.DataGrid1.DataBind();
    }只要你在点检索以后在调用一次这个方法就可以了。
      

  2.   

    很简单,用DataTable.Select("筛选行的条件");
    注:筛选行的条件相当于Select的Where子句,可以按主键的ID等(如PKId=3)来筛选你所需要的行,此方法的返回值为DataRow[],这是一个数据行的数值,表示可以返回多行
      

  3.   

    很简单,用DataTable.Select("筛选行的条件");
    注:筛选行的条件相当于Select的Where子句,可以按主键的ID等(如PKId=3)来筛选你所需要的行,此方法的返回值为DataRow[],这是一个数据行的数组,表示可以返回多行,如DataRow[2]表示第三行
      

  4.   

    先用sql语句查询,在勇下面的绑定就ok了
    Dim sqlstring As String = Sql.Text
            Dim DS As New DataSet
            Dim MyCommand As SqlDataAdapter
            Dim MyConnection As New SqlConnection(ConfigurationSettings.AppSettings("SQLConnString"))
            MyCommand = New SqlDataAdapter(sqlstring, MyConnection)
            MyCommand.Fill(DS, "custom")
            DataGrid1.DataSource = DS.Tables("custom")
            DataGrid1.DataBind()
      

  5.   

    郁闷中。。还是找不到更好的办法,我想在CLICK(单击)事件中直接做到绑定。
    用C#得。