• <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
    主站蜘蛛池模板: 国产精品推荐天天看天天爽| 午夜成人精品福利网站在线观看 | 无码日韩人妻精品久久蜜桃| 国产系列高清精品第一页| 国产精品亚洲片在线| 无翼乌无遮挡全彩老师挤奶爱爱帝国综合社区精品 | 亚洲а∨天堂久久精品| 国产亚洲精品自在线观看| 香蕉国产精品频视| 第一福利永久视频精品| 日韩精品区一区二区三VR| 亚洲爆乳精品无码一区二区| 久久精品女人天堂AV麻| 国产精品成人啪精品视频免费| 青青草精品视频| 精品国产欧美一区二区| 97精品一区二区视频在线观看| 久久久久国产精品熟女影院| 亚洲AV无码久久精品色欲| 亚洲av无码国产精品色在线看不卡| 久久精品视屏| 久久精品三级视频| 久久亚洲AV永久无码精品| 精品视频久久久久| 久久精品18| 久久精品成人| 人妻少妇看A偷人无码精品视频 | 国产精品白丝jkav网站| 亚洲国产精品久久久久久| 久久伊人精品青青草原高清| 久久99国产精品久久99果冻传媒 | 国产麻豆精品久久一二三| 欧美精品亚洲精品日韩传电影| 一本色道久久88—综合亚洲精品| 亚洲精品tv久久久久| 亚洲乱码精品久久久久..| 性欧洲精品videos| 无码人妻精品一区二区三18禁| 亚洲乱码精品久久久久..| 午夜欧美精品久久久久久久| 国产精品三级在线观看无码 |