.NET基礎之GridView控制元件
GridView控制元件是.net裡的一個顯示資料控制元件,該控制元件製作很人性化,基本上不用編寫程式碼就可以完成資料繫結、分頁、排序、編輯、刪除、選定行等操作。
主要屬性:
Sort:根據指定的排序表示式和方向對 GridView 控制元件進行排序。
程式設計的方法繫結資料,並實現分頁
頁面原始碼中新增一個GridView控制元件(GridView1),並AllowPaging="True",設定PageIndexChanging事件。
cs程式碼: Code
protected void bind()
{
//此處為GridView1繫結資料庫
SqlConnection myConn = GetConnection();
myConn.Open();
string sqlStr = "select * from test";
SqlDataAdapter myDa = new SqlDataAdapter(sqlStr, myConn);
DataSet myDs = new DataSet();
myDa.Fill(myDs);
GridView1.DataSource = myDs;
GridView1.DataBind();
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
this.bind();
}
程式設計方法實現排序
頁面原始碼中新增一個GridView控制元件(GridView1),並設定GridView1的Sorting事件。
cs程式碼:
Code
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//設定資訊字典,排序欄位和排序方法
ViewState["SortOrder"] = "ID";
ViewState["OrderDire"] = "ASC";
this.bind();
}
}
public SqlConnection GetConnection()
{
//讀取web.config中的連線字串,建立SqlConnection連線
string myStr = ConfigurationManager.AppSettings["ConnectionString"].ToString();
SqlConnection myConn = new SqlConnection(myStr);
return myConn;
}
protected void bind()
{
//此處為GridView1繫結資料庫
SqlConnection myConn = GetConnection();
myConn.Open();
string sqlStr = "select * from test";
SqlDataAdapter myDa = new SqlDataAdapter(sqlStr, myConn);
DataSet myDs = new DataSet();
myDa.Fill(myDs);
//設定排序所用的欄位和排序方法
string sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"];
GridView1.Sort = sort;
GridView1.DataSource = myDs;
GridView1.DataBind();
}
protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
//獲取排序的欄位
string sPage = e.SortExpression;
//如果目前排序方式與設定一致,則逆序
if (ViewState["SortOrder"].ToString() == sPage)
{
if (ViewState["OrderDire"].ToString() == "Desc")
{
ViewState["OrderDire"] = "ASC";
}
else
{
ViewState["OrderDire"] = "Desc";
}
}
else
{
ViewState["SortOrder"] = e.SortExpression;
}
this.bind();
}
選擇GridView控制元件的行,在另一個GridView控制元件中顯示相關資料
頁面原始碼中新增兩個GridView控制元件(GridView1,GridView2),並設定GridView1的SelectedIndexChanging事件。GridView1已經繫結了一個資料表,當點選GridView1一行時,在GridView2中顯示相關的另一張表中的資料。
cs程式碼:
Code
protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
//提交編輯時,先取得要編輯行的主鍵值
int ID = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value.ToString());
string sqlStr = "delete from test where ID=" + ID;
SqlConnection con = new SqlConnection();
//讀取web.config中的連線字串,建立SqlConnection連線
con.ConnectionString = ConfigurationManager.AppSettings["ConnectionString"].ToString();
SqlDataAdapter myDa = new SqlDataAdapter(sqlStr, myConn);
DataSet myDs = new DataSet();
myDa.Fill(myDs);
//將資料表繫結到GridView2
this.GridView2.DataSource = myDs;
GridView2.DataBind();
}
程式設計實現全選和全不選功能
頁面原始碼中新增兩個GridView控制元件(GridView1),一個CheckBox控制元件(CheckBox1),設定CheckBox控制元件的AutoPostBack="True" ,為GridView1新增一個TemplateField列,並在編輯模版中為該列新增一個CheckBox 控制元件:
cs程式碼: Code
public SqlConnection GetConnection()
{
//讀取web.config中的連線字串,建立SqlConnection連線
string myStr = ConfigurationManager.AppSettings["ConnectionString"].ToString();
SqlConnection myConn = new SqlConnection(myStr);
return myConn;
}
protected void bind()
{
//此處為GridView1繫結資料庫
SqlConnection myConn = GetConnection();
myConn.Open();
string sqlStr = "select * from test";
SqlDataAdapter myDa = new SqlDataAdapter(sqlStr, myConn);
DataSet myDs = new DataSet();
myDa.Fill(myDs);
GridView1.DataSource = myDs;
GridView1.DataBind();
//釋放並關閉連線
myDa.Dispose();
myDs.Dispose();
myConn.Close();
}
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
for (int i = 0; i < GridView1.Rows.Count; i++)
{
CheckBox chk = (CheckBox)GridView1.Rows[i].FindControl("Check");
if (CheckBox1.Checked == true)
{
//全選
CheckBox1.Checked = true;
}
else
{
//反選
CheckBox1.Checked = false;
}
}
}
原文:http://www.cnblogs.com/shanymen/archive/2009/05/21/1486654.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-604087/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- .NET基礎之DataList控制元件控制元件
- 【.net基礎】--DropDownList控制元件:兩級聯動控制元件
- .NET基礎之三個導航控制元件控制元件
- Flutter基礎(七)Scrolling Widget之ListView、GridView、PageViewFlutterView
- Flutter 基礎(七)Scrolling Widget 之 ListView、GridView、PageViewFlutterView
- jQuery找到GridView控制元件jQueryView控制元件
- .NET基礎之資料繫結
- flutter初體驗之基礎控制元件知識Flutter控制元件
- Android自定義控制元件系列之基礎篇Android控制元件
- 基礎控制元件詳解控制元件
- [Android] 列表控制元件(RecycleView,GridView)Android控制元件View
- .NET Core基礎篇之:依賴注入DependencyInjection依賴注入
- WIN32 控制元件基礎Win32控制元件
- QML::自繪基礎控制元件控制元件
- 前端基礎之jQuery基礎前端jQuery
- .NET Core基礎篇之:配置檔案讀取
- ASP.NET動態網站開發培訓-08.GridView控制元件(上)ASP.NET網站View控制元件
- ASP.NET動態網站開發培訓-09.GridView控制元件(下)ASP.NET網站View控制元件
- .NET 6 亮點之工作負載,它是統一 .NET 的基礎負載
- docker network基礎Docker
- .NET Core基礎篇之:白話管道中介軟體
- Asp.NetCore之AutoMapper基礎篇ASP.NETNetCoreAPP
- 【Vim】基礎之基礎——指尖的舞蹈
- Javascript基礎之-thisJavaScript
- 類之基礎
- 【.net基礎】--.NET、winform、Asp.Net區別ORMASP.NET
- Flutter第3天--基礎控制元件(上)Flutter控制元件
- GridView修改含有DropDownList控制元件列的寬度View控制元件
- .net 開源模板引擎jntemplate 教程:基礎篇之語法
- 容器編排系統之Kubernetes基礎入門
- 【記】《.net之美》之讀書筆記(一) C#語言基礎筆記C#
- Kubernetes API 基礎API
- .net core整合JWT(基礎)JWT
- 【.net基礎】--SQLHelper重構SQL
- 【.net基礎】--初識StructStruct
- Golang 基礎之基礎語法梳理 (三)Golang
- Android之ViewPager+GridView實現GridView介面滑動AndroidViewpager
- Android UI控制元件系列:GridView(網格佈局)AndroidUI控制元件View