国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

GridView使用學習總結

來源:懂視網 責編:小采 時間:2020-11-27 22:38:11
文檔

GridView使用學習總結

GridView使用學習總結:由于Asp.Net視頻比較舊,涉及到的數據綁定控件DataGrid在VS2012中已經沒有了,取而代之的是GridView。開始覺得視頻中的例子沒法實現了,其實不然,DataGrid里面的功能GridView里一樣都不少,只是形式變化了一下,仔細研究一下發(fā)現它們是換湯不換藥啊。 (一
推薦度:
導讀GridView使用學習總結:由于Asp.Net視頻比較舊,涉及到的數據綁定控件DataGrid在VS2012中已經沒有了,取而代之的是GridView。開始覺得視頻中的例子沒法實現了,其實不然,DataGrid里面的功能GridView里一樣都不少,只是形式變化了一下,仔細研究一下發(fā)現它們是換湯不換藥啊。 (一

由于Asp.Net視頻比較舊,涉及到的數據綁定控件DataGrid在VS2012中已經沒有了,取而代之的是GridView。開始覺得視頻中的例子沒法實現了,其實不然,DataGrid里面的功能GridView里一樣都不少,只是形式變化了一下,仔細研究一下發(fā)現它們是換湯不換藥啊。
(一)DataKeyName屬性
(1)DataKeyNames一般都是用來對當前行做唯一標示的,所以一般為數據庫的ID。
(2)GridView.DataKeys[e.RowIndex],e.RowIndex是獲取事件對應的行,GridView.DataKeys[e.RowIndex]就是獲取對應行的唯一標示也就是DataKeyNames所指定列的值。

(3)DataList和Repeater是沒有的該屬性的。

在代碼中這樣使用:(定義的該函數在下面都需要調用)

/// <summary> 
/// 實現數據綁定功能 
/// </summary> 
private void BindToDataGird() 
{ 
 SqlConnection con = DB.CreateCon(); 
 SqlDataAdapter sda = new SqlDataAdapter(); 
 sda.SelectCommand = new SqlCommand("select employeeID,FirstName,LastName,Title,BirthDate from employees ", con); 
 DataSet ds = new DataSet(); 
 sda.Fill(ds, "emp"); //將查詢到的數據添加到DataSet中。 
 this.GridView1.DataKeyNames =new string[]{ "employeeID"}; //DataKeyNames的使用 
 this.GridView1.DataSource = ds.Tables["emp"]; 
 this.DataBind(); 
} 

如何取值?

DataKey key = GridView1.DataKeys[e.RowIndex];//其中e為GridViewDelete(或者Edit)EventArgs e 
string empID = key[0].ToString(); 


(二)分頁
由于GridView中封裝了分頁的功能。這里實現起來很容易。先需要設置屬性:AllowPaging/PageSize/PageSetting。然后編寫事件代碼:

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) 
{ 
 this.GridView1.PageIndex = e.NewPageIndex; 
 this.BindToDataGird(); 
} 


(三)排序
首先設置AllowSorting屬性為true.事件代碼:

protected void GridView1_Sorting(object sender, GridViewSortEventArgs e) 
{ 
 if (ViewState["order"] == null) //使用ViewState設置雙向排序。 
 { 
 ViewState["order"] = "ASC"; 
 } 
 else 
 { 
 if (ViewState["order"].ToString() == "ASC") 
 { 
 ViewState["order"] = "DESC"; 
 } 
 else 
 { 
 ViewState["order"] = "ASC"; 
 } 
 } 
 //數據綁定顯示 
 SqlConnection con = DB.CreateCon(); 
 SqlDataAdapter sda = new SqlDataAdapter(); 
 sda.SelectCommand = new SqlCommand("select employeeID,FirstName,LastName,Title,BirthDate from employees ", con); 
 DataSet ds = new DataSet(); 
 sda.Fill(ds, "emp"); 
 ds.Tables["emp"].DefaultView.Sort = e.SortExpression + " " + ViewState["order"].ToString(); //設置排序 
 this.GridView1.DataSource = ds.Tables["emp"].DefaultView; //將表的默認視圖作為數據源。 
 this.DataBind(); 
} 


(四)刪除
這里需要注意一點:就是獲取某一行的主鍵值。

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) 
{ 
 DataKey key = GridView1.DataKeys[e.RowIndex]; 
 string empID = key[0].ToString(); 
 SqlConnection con = DB.CreateCon(); 
 SqlCommand cmd = new SqlCommand("delete from employees where employeeID= '"+empID+"'" , con); 
 con.Open(); 
 cmd.ExecuteNonQuery(); 
 this.BindToDataGird(); 
} 

(五)編輯(更新和取消)

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) 
{ 
 this.GridView1.EditIndex = e.NewEditIndex; 
 this.BindToDataGird(); 
} 
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) 
{ 
 this.GridView1.EditIndex = -1; //設置索引值為負取消編輯。 
 this.BindToDataGird(); 
} 
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) 
{ 
 DataKey key = GridView1.DataKeys[e.RowIndex]; 
 string empID = key[0].ToString(); 
 string lastName=((TextBox)(GridView1.Rows [e.RowIndex ] .Cells [2].Controls [0])).Text ; //將GridView中某列中控件強制轉換為TextBox,然后取出它的值。 
 Response.Write(empID +"&" + lastName ); //用于測試。 
 this.GridView1.EditIndex = -1; 
 this.BindToDataGird(); 
} 

附結果圖:

小結:數據綁定控件:Reapter/DataList/GridView的功能成遞增關系,都使用到了模板。所以掌握模板很重要。視頻使用模板大都是使用控件,不是代碼。總感覺這里需要學習的地方還有很多。需要做例子鞏固使用。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

GridView使用學習總結

GridView使用學習總結:由于Asp.Net視頻比較舊,涉及到的數據綁定控件DataGrid在VS2012中已經沒有了,取而代之的是GridView。開始覺得視頻中的例子沒法實現了,其實不然,DataGrid里面的功能GridView里一樣都不少,只是形式變化了一下,仔細研究一下發(fā)現它們是換湯不換藥啊。 (一
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 精品一区二区在线 | 国产网站在线免费观看 | 午夜欧美| 国产夜夜操 | 中文字幕无线码一区 | 欧美一区二区在线观看视频 | 精品欧美 | 亚洲欧美经典 | 欧美日韩亚洲综合 | 亚洲精品在线免费观看视频 | 在线一区二区三区 | 国产精品久久久久无码av | 在线免费一区二区 | 韩国精品一区 | 欧美首页 | 97一区二区三区四区久久 | 91精品国产亚一区二区三区 | 国内精品一区二区 | 亚洲精品99久久久久中文字幕 | 国产一区二区视频在线 | 欧美激情国产日韩精品一区18 | 欧美福利视频 | 99久久免费国产精精品 | 国产精品成久久久久三级 | 夜夜操综合 | a级黄色毛片 | 久久久国产麻豆 | 91精品一区二区三区在线观看 | 国产一区二区福利 | 九九国产精品九九 | 亚洲精国产一区二区三区 | 亚洲欧洲一二三区 | 国产日韩在线 | 狠狠操夜夜| 69视频高清完整版在线观看 | 国产成人精品免费视频大全五级 | 亚洲国产精品久久久久666 | 午夜日韩视频 | 全免费毛片在线播放 | 久久久高清国产999尤物 | 91亚洲 欧美 国产 制服 动漫 |