GRIDVIEW控制項-實現商品搜尋

上課筆記 影片:後端 16GridView-4

SqlDataSoure控制項 
<使用where實現搜尋功能>   單字:Parameter(參數)
1-1如何實現搜尋功能 
設定:
(1).在SqlDataSoure內,新建<SelectParameters>在裡面在建立<ControlParameter>
<ControlParameters Name="名稱" ControlID="那一個控制項讀取資料的id" Type="資料庫值的「資料型態」">
語法:
(2).SelectCommand="SELECT * FROM [資料表] where Name = @資料庫欄位名稱
    注意:語法中的where 「Name」指的是ControlParameters Name中指定的名稱。

1-2如何實現模糊搜尋功能 語法
(1).SelectCommand="SELECT * FROM [資料表] where Name like '%'+ @資料庫欄位名稱 +'%'"
    注意:語法中的where 「Name」指的是ControlParameters Name中指定的名稱。
--------------------------------------------------------------------------------------
<過濾器實現搜尋功能>
2-1.如何使用過濾器實現搜尋功能 單字:Filter(過濾),Expression(表達式)
設定:
(1).在SqlDataSoure內,新建<FilterParameters>在裡面在建立<ControlParameter>
<ControlParameters Name="名稱" ControlID="那一個控制項讀取資料的id" Type="資料庫值的「資料型態」">
(2).SqlDataSoure控制項新增屬性FilterExpression ="name like '%{0}%'"
    注意: FilterExpression 內的「Name」指的是ControlParameters Name中指定的名稱。

共用設定:
在Grid_View控制項內要設定 「EmptyDataText」屬性
屬性解釋:EmptyDataText->設定取得或設定空白資料列中顯示的文字

補充資料:
where搜尋功能與過濾器搜尋功能差別
<1>where搜尋功能:是在SQL直接實現搜尋
<2>過濾器搜尋功能:是將資料庫先讀取至「記憶體」然後再使用過濾器搜尋功能。
過濾器搜尋缺點:如果使用者過多,會導致SEVER 記憶體過載,導至當機。

如何讀取使用者所選定的資料-程式碼區:

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
 {
   if (e.CommandName == "Order")
    {//e.CommandArgument是個物件所以要轉成數值型態
      int index = Convert.ToInt32(e.CommandArgument);
      lblcar.Text += GridView1.Rows[index].Cells[1].Text + "已經加入購物車<br/>";
    }
 }