• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答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里一樣都不少,只是形式變化了一下,仔細研究一下發現它們是換湯不換藥啊。 (一
    推薦度:
    導讀GridView使用學習總結:由于Asp.Net視頻比較舊,涉及到的數據綁定控件DataGrid在VS2012中已經沒有了,取而代之的是GridView。開始覺得視頻中的例子沒法實現了,其實不然,DataGrid里面的功能GridView里一樣都不少,只是形式變化了一下,仔細研究一下發現它們是換湯不換藥啊。 (一

    由于Asp.Net視頻比較舊,涉及到的數據綁定控件DataGrid在VS2012中已經沒有了,取而代之的是GridView。開始覺得視頻中的例子沒法實現了,其實不然,DataGrid里面的功能GridView里一樣都不少,只是形式變化了一下,仔細研究一下發現它們是換湯不換藥啊。
    (一)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的功能成遞增關系,都使用到了模板。所以掌握模板很重要。視頻使用模板大都是使用控件,不是代碼。總感覺這里需要學習的地方還有很多。需要做例子鞏固使用。

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

    文檔

    GridView使用學習總結

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

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 精品人妻一区二区三区毛片| 亚洲av永久无码精品网站 | 人妻少妇看A偷人无码精品| 国产99视频精品一区| 日本午夜精品一区二区三区电影| 免费精品精品国产欧美在线 | 亚洲精品国产精品乱码不卡√| 欧美精品www| 久久久精品波多野结衣| 国产精品无码专区在线观看| 2021最新国产精品一区| 久久精品国产一区| 精品国精品国产| 国产精品嫩草视频永久网址| 国产精品高清一区二区人妖| 成人无码精品1区2区3区免费看| 久久精品黄AA片一区二区三区| 亚洲国产精品成人精品无码区在线| 亚洲视频在线精品| 久久久精品视频免费观看| 黑人巨茎精品欧美一区二区| 国产三级精品三级| 精品国产成人在线| 久久久精品久久久久久| 久久九九久精品国产| 日韩精品成人a在线观看| 欧美日韩精品系列一区二区三区 | 国产精品无码无需播放器| 精品乱码久久久久久久| 精品熟女少妇av免费久久| 精品人妻码一区二区三区| 国产精品无码一区二区三区电影| heyzo高无码国产精品| 国产综合精品女在线观看| 国产精品v片在线观看不卡| 国产精品福利自产拍在线观看| 99久久久国产精品免费无卡顿| 国产精品www| 最新国产の精品合集| 99九九精品免费视频观看| 韩国三级中文字幕hd久久精品|