问一问gridview + objectdatasource + textbox + button查询的问题。
同一个页面:   
 一个gridview,一个objectdatasource,一个textbox,一个button   
 想实现: 
 1.   一进入页面就先显示所有数据 
 2.把查询条件输入textbox,点击button,gridview绑定源的条件where   name=textbox.text,   查不到数据就提示“没有找到数据”   
 3.,如果不输入查询条件(即textbox为空白时)点击button就显示全部数据而不会因为没有参数而出错   
 我现在在数据层返回了两个datatable 
 datatable1   (Select   *   FROM   Product_Info) 
 datatble2   (Select   *   FROM   Product_Info   where   name   =   textbox.text)   
 要怎么实现page_load就绑定datatable1   ,Button_Click就绑定dataable2啊?   
 或者要怎么实现我要的效果?
------解决方案--------------------用模糊查询没有参数也不会出错,而会显示所有的数据	 
 private void Page_Load(object sender, System.EventArgs e) 
 		{ 
 			if(!IsPostBack) 
 				BindData();// 在此处放置用户代码以初始化页面 
 		}   
         	private void ssbmBtn_Click(object sender, System.EventArgs e) 
 		{  			 
 			dgShow.DataSource = ×××××;			                  dgShow.DataBind(); 
 		}
------解决方案--------------------private void ssbmBtn_Click(object sender, System.EventArgs e) 
 { 
 if(this.textbox.text <>  " ") 
 {   
 dgShow.DataSource = ×××××; //  如果输入查询条件,就显示查询结果 
  dgShow.DataBind(); 
 }   
 else 
 { 
 dgShow.DataSource = ×××××;   //如果不输入查询条件,就显示全部数据而 
 dgShow.DataBind(); 
 } 
 end if     
 } 
------解决方案--------------------楼上你VB与C#混用厉害。。。 
 思路完全正确。
------解决方案--------------------private void BindGridView(string strField) 
 { 
     SqlConnection cn; 
     SqlCommand cmd; 
     SqlDataReader dr;   
     cn = new SqlConnection(connectionString);   
     string strSQL = null;   
     if (strField.Length == 0) 
         strSQL =  "Select * FROM Product_Info "; 
     else 
         strSQL =  "Select * FROM Product_Info where name =  ' " + strField +  " ' ";  //这里用参数更好 
     cmd = new SqlCommand(strSQL, cn); 
     cn.Open(); 
     dr = cmd.ExecuteReader();   
     DataView1.DataSource = dr; 
     DataView1.DataBind();   
     dr.Close(); 
     cn.Close(); 
 }     
 private void Page_Load(object sender, System.EventArgs e) 
 { 
 	if (! IsPostBack )  
 	{ 
         BindGridView( " "); 
 	} 
 }   
 private void button1_Click(object sender, System.EventArgs e) 
 { 
 	if(this.TextBox1.Text.Trim().Length == 0) 
     { 
         BindGridView( " "); 
     } 
     else 
     { 
         BindGridView(this.TextBox1.Text.Trim());  
     } 
 }
------解决方案--------------------amandag(高歌)  
 ------------- 
 整解,牛啊
------解决方案--------------------objectdatasource是可以设置参数的 
 1、参数来源 
 2、默认值
------解决方案--------------------leo_boy(www.morock.net) ( ) 信誉:90    Blog   加为好友  2007-05-04 10:03:55  得分: 0         
    也就是說根本不用objectdatasource?        
 --------   
 一般来说你用了datatable, objectdatasource就没有机会出场了。
------解决方案--------------------小型不需要用objectdatasource,除非你自己想练手   
 用高歌的方法对的。。   
 两个技术点,一个绑定、一个SQL语句。。总的来说还是很简单,运行一下高歌的例子,自己调调就差不多了
------解决方案--------------------