濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > GridView常用操作事件圖文介紹

GridView常用操作事件圖文介紹

熱門標(biāo)簽:保山電話外呼管理系統(tǒng)怎么用 外呼系統(tǒng)用員工身份證 使用智能電話機(jī)器人違法嗎 朝陽市地圖標(biāo)注 淘寶地圖標(biāo)注如何做 東莞語音電銷機(jī)器人排名 蘇州銷售外呼系統(tǒng)預(yù)算 太原外呼電銷機(jī)器人費(fèi)用 電話機(jī)器人廣告話術(shù)

對(duì)于gridview學(xué)NET的同學(xué)再熟悉不過,但是其中功能事件是否能編碼熟練實(shí)現(xiàn)?前不久看點(diǎn)博文,以及資料,綜合自己的一些想法,匯總?cè)缦拢?


數(shù)據(jù)庫(kù)設(shè)計(jì)如下,以便更好理解:

設(shè)計(jì):

實(shí)現(xiàn):


GridView無代碼分頁(yè)排序

小實(shí)例:

AllowSorting設(shè)為True,aspx代碼中是AllowSorting="True";

運(yùn)行結(jié)果



GridView選中,編輯,取消,刪除

小實(shí)例

GridView.aspx

復(fù)制代碼 代碼如下:

asp:GridView ID="GridView1" runat="server" Height="138px" Width="1117px"
AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False"
onpageindexchanging="GridView1_PageIndexChanging"
onrowcancelingedit="GridView1_RowCancelingEdit"
onrowdeleting="GridView1_RowDeleting" onrowediting="GridView1_RowEditing"
onrowupdating="GridView1_RowUpdating">
Columns>

asp:TemplateField HeaderText="身份證號(hào)" SortExpression="pid">
ItemTemplate>
asp:Label ID="Label1" runat="server" Text='%# Bind("pid") %>'>/asp:Label>
/ItemTemplate>
/asp:TemplateField>
%-- asp:BoundField DataField="pid" HeaderText="身份證號(hào)" SortExpression="pid" />--%>
asp:BoundField DataField="pname" HeaderText="姓名" SortExpression="pname" />
asp:BoundField DataField="psex" HeaderText="性別" SortExpression="psex" />
asp:BoundField DataField="padress" HeaderText="地址" SortExpression="padress" />
asp:BoundField DataField="pyoubiao" HeaderText="郵編" SortExpression="pyoubiao" />
asp:BoundField DataField="pprice" HeaderText="工資起價(jià)" SortExpression="pprice" />
asp:CommandField HeaderText="選擇" ShowSelectButton="True" />
asp:CommandField HeaderText="編輯" ShowEditButton="True" />
asp:CommandField HeaderText="刪除" ShowDeleteButton="True" />
/Columns>
EmptyDataRowStyle BackColor="Red" />
HeaderStyle BackColor="#0000CC" Font-Bold="True" ForeColor="White" />
PagerStyle BackColor="#864" HorizontalAlign="Center" ForeColor="White"/>
/asp:GridView>


GridView.aspx.cs
復(fù)制代碼 代碼如下:

//公有數(shù)據(jù)
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["sqlcon"].ConnectionString);
SqlCommand cmd;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bind(); //正常綁定
}
}


/// summary>
/// 主題:綁定數(shù)據(jù),查詢顯示個(gè)人信息
/// 時(shí)間:2012年11月21日14:54:13
/// 描述:通過簡(jiǎn)單的方法綁定,實(shí)現(xiàn)數(shù)據(jù)顯示
/// 作者:小伙
/// /summary>
public void bind()
{
//數(shù)據(jù)連接web.config中已配置的數(shù)據(jù)
SqlDataAdapter da = new SqlDataAdapter("select top 5 * from person", con);//使用數(shù)據(jù)適配器內(nèi)置查詢,自動(dòng)開閉數(shù)據(jù)庫(kù)
DataSet ds = new DataSet();//使用數(shù)據(jù)集,采取斷開式訪問數(shù)據(jù)
da.Fill(ds, "person");
GridView1.DataSource = ds;
GridView1.DataKeyNames=new string[]{"pid"};//設(shè)置主鍵
GridView1.DataBind();
}

//實(shí)現(xiàn)分頁(yè)
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
this.bind();
}
//刪除
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string sqlstr = "delete from person where pid='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";
con.Open();
cmd = new SqlCommand(sqlstr, con);
cmd.ExecuteNonQuery();
con.Close();
bind();


}
//取消編輯
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
bind();
}
//編輯
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
bind();
}

//更新
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string sqlstr = "update person set pname='"
+((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "',psex='"
+((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim()+"',padress='"
+((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim()+"',pyoubiao='"
+((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim()+"',pprice='"
+((TextBox)(GridView1.Rows[e.RowIndex].Cells[5].Controls[0])).Text.ToString().Trim()+"' where pid='"
+GridView1.DataKeys[e.RowIndex].Value.ToString()+"'";
cmd = new SqlCommand(sqlstr, con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
GridView1.EditIndex = -1;
bind();

}

運(yùn)行結(jié)果

運(yùn)行初始頁(yè):

點(diǎn)擊編輯:

更新后:



GridView正反雙向排序

小實(shí)例:

GridView.aspx

復(fù)制代碼 代碼如下:

asp:GridView ID="GridView1" runat="server" Height="138px" Width="1117px"
AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False"
onpageindexchanging="GridView1_PageIndexChanging"
onrowcancelingedit="GridView1_RowCancelingEdit"
onrowdeleting="GridView1_RowDeleting" onrowediting="GridView1_RowEditing"
onrowupdating="GridView1_RowUpdating" onsorting="GridView1_Sorting">
Columns>

%--asp:TemplateField HeaderText="身份證號(hào)" SortExpression="pid">
ItemTemplate>
asp:Label ID="Label1" runat="server" Text='%# Bind("pid") %>'>/asp:Label>
/ItemTemplate>
/asp:TemplateField>--%>
asp:BoundField DataField="pid" HeaderText="身份證號(hào)" SortExpression="pid" />
asp:BoundField DataField="pname" HeaderText="姓名" SortExpression="pname" />
asp:BoundField DataField="psex" HeaderText="性別" SortExpression="psex" />
asp:BoundField DataField="padress" HeaderText="地址" SortExpression="padress" />
asp:BoundField DataField="pyoubiao" HeaderText="郵編" SortExpression="pyoubiao" />
asp:BoundField DataField="pprice" HeaderText="工資起價(jià)" SortExpression="pprice" />
asp:CommandField HeaderText="選擇" ShowSelectButton="True" />
asp:CommandField HeaderText="編輯" ShowEditButton="True" />
asp:CommandField HeaderText="刪除" ShowDeleteButton="True" />
/Columns>
EmptyDataRowStyle BackColor="Red" />
HeaderStyle BackColor="#0000CC" Font-Bold="True" ForeColor="White" />
PagerStyle BackColor="#864" HorizontalAlign="Center" ForeColor="White"/>
/asp:GridView>

GridView.aspx.cs
復(fù)制代碼 代碼如下:

//公有數(shù)據(jù)
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["sqlcon"].ConnectionString);
SqlCommand cmd;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ViewState["SortOrder"] = "pname";
ViewState["OrderDire"] = "ASC";
Sortbind1();//排序綁定
}
}


//排序綁定
public void Sortbind1()
{
string sqlstr = "select top 5 * from person";
SqlDataAdapter myda = new SqlDataAdapter(sqlstr, con);
DataSet ds = new DataSet();
con.Open();
myda.Fill(ds, "person");
DataView view = ds.Tables["person"].DefaultView;
string sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"];
view.Sort = sort;
GridView1.DataSource = view;
GridView1.DataBind();
con.Close();
}

//排序
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;
}
Sortbind1();

}

運(yùn)行結(jié)果:

排序前:

排序后:

 

 




GridView和下拉菜單DropDownList結(jié)合

小實(shí)例:

GridView.aspx

復(fù)制代碼 代碼如下:

asp:GridView ID="GridView1" runat="server" Height="138px" Width="1117px"
AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False"
onpageindexchanging="GridView1_PageIndexChanging"
onrowcancelingedit="GridView1_RowCancelingEdit"
onrowdeleting="GridView1_RowDeleting" onrowediting="GridView1_RowEditing"
onrowupdating="GridView1_RowUpdating" onsorting="GridView1_Sorting">
Columns>

%--asp:TemplateField HeaderText="身份證號(hào)" SortExpression="pid">
ItemTemplate>
asp:Label ID="Label1" runat="server" Text='%# Bind("pid") %>'>/asp:Label>
/ItemTemplate>
/asp:TemplateField>--%>
asp:BoundField DataField="pid" HeaderText="身份證號(hào)" SortExpression="pid" />
asp:BoundField DataField="pname" HeaderText="姓名" SortExpression="pname" />
asp:TemplateField HeaderText="性別" SortExpression="psex" >
ItemTemplate>
asp:DropDownList ID="DropDownList1" runat="server" DataSource='%# ddlbind()%>' DataValueField="psex" DataTextField="psex"/>
/ItemTemplate>
/asp:TemplateField>
asp:BoundField DataField="padress" HeaderText="地址" SortExpression="padress" />
asp:BoundField DataField="pyoubiao" HeaderText="郵編"
SortExpression="pyoubiao" />
asp:BoundField DataField="pprice" HeaderText="工資起價(jià)" SortExpression="pprice" />
asp:CommandField HeaderText="選擇" ShowSelectButton="True" />
asp:CommandField HeaderText="編輯" ShowEditButton="True" />
asp:CommandField HeaderText="刪除" ShowDeleteButton="True" />
/Columns>
EmptyDataRowStyle BackColor="Red" />
HeaderStyle BackColor="#0000CC" Font-Bold="True" ForeColor="White" />
PagerStyle BackColor="#864" HorizontalAlign="Center" ForeColor="White"/>
/asp:GridView>

GridView.aspx.cs

復(fù)制代碼 代碼如下:

//公有數(shù)據(jù)
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["sqlcon"].ConnectionString);
SqlCommand cmd;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Drpbind();//dropdown綁定

}
}


//DropDownList綁定數(shù)據(jù)
DropDownList ddl;
public void Drpbind()
{
string sqlstr = "select top 5 * from person";
con.Open();
SqlDataAdapter myda = new SqlDataAdapter(sqlstr, con);
DataSet ds = new DataSet();
myda.Fill(ds, "person");
GridView1.DataSource = ds;
GridView1.DataBind();
for (int i = 0; i = GridView1.Rows.Count - 1; i++)
{
DataRowView mydrv = ds.Tables["person"].DefaultView[i];
if (Convert.ToString(mydrv["psex"]).Trim() == "男")
{
ddl = (DropDownList)GridView1.Rows[i].FindControl("DropDownList1");
ddl.SelectedIndex = 0;

}
else if (Convert.ToString(mydrv["psex"]).Trim() == "女")
{
ddl = (DropDownList)GridView1.Rows[i].FindControl("DropDownList1");
ddl.SelectedIndex = 1;
}
}
con.Close();

}


//GridView和下拉菜單DropDownList結(jié)合,前臺(tái)性別列datasouce調(diào)用
public SqlDataReader ddlbind()
{

string sqlstr = "select distinct psex from person";//distinct只顯示一次性別
using (cmd = new SqlCommand(sqlstr, con))
{
con.Close();
con.Open();
return cmd.ExecuteReader();
}
}

運(yùn)行結(jié)果:

 




GridView和CheckBox結(jié)合

小實(shí)例:

GridView.aspx

復(fù)制代碼 代碼如下:

form id="form1" runat="server">
asp:GridView ID="GridView1" runat="server" Height="138px" Width="1117px"
AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False"
onpageindexchanging="GridView1_PageIndexChanging"
onrowcancelingedit="GridView1_RowCancelingEdit"
onrowdeleting="GridView1_RowDeleting" onrowediting="GridView1_RowEditing"
onrowupdating="GridView1_RowUpdating" PageSize="4">
Columns>
asp:TemplateField>
ItemTemplate>
asp:CheckBox ID="CheckBox1" runat="server" />
/ItemTemplate>
/asp:TemplateField>
asp:BoundField DataField="pid" HeaderText="身份證號(hào)" SortExpression="pid" />
asp:BoundField DataField="pname" HeaderText="姓名" SortExpression="pname" />
asp:BoundField DataField="psex" HeaderText="性別" SortExpression="psex" />
asp:BoundField DataField="padress" HeaderText="地址" SortExpression="padress" />
asp:BoundField DataField="pyoubiao" HeaderText="郵編" SortExpression="pyoubiao" />
asp:BoundField DataField="pprice" HeaderText="工資起價(jià)" SortExpression="pprice" />
%-- asp:CommandField HeaderText="選擇" ShowSelectButton="True" />
asp:CommandField HeaderText="編輯" ShowEditButton="True" />
asp:CommandField HeaderText="刪除" ShowDeleteButton="True" />--%>
/Columns>
EmptyDataRowStyle BackColor="Red" />
HeaderStyle BackColor="#0000CC" Font-Bold="True" ForeColor="White" />
PagerStyle BackColor="#864" HorizontalAlign="Center" ForeColor="White"/>
/asp:GridView>
br />
asp:CheckBox ID="CheckBox2" runat="server" ForeColor="Red" Text="全選"
AutoPostBack="True" oncheckedchanged="CheckBox2_CheckedChanged" />

nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;
asp:Button ID="Button1" runat="server" Font-Bold="true" ForeColor="red"
Text="刪除" onclick="Button1_Click" />
nbsp;nbsp;
asp:Button ID="Button2" runat="server" Font-Bold="true" ForeColor="red"
Text="取消" onclick="Button2_Click" />
/form>

GridView.aspx.cs

復(fù)制代碼 代碼如下:

//公有數(shù)據(jù)
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["sqlcon"].ConnectionString);
SqlCommand cmd;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bind(); //正常綁定
}
}


public void bind()
{
//數(shù)據(jù)連接web.config中已配置的數(shù)據(jù)
SqlDataAdapter da = new SqlDataAdapter("select * from person", con);//使用數(shù)據(jù)適配器內(nèi)置查詢,自動(dòng)開閉數(shù)據(jù)庫(kù)
DataSet ds = new DataSet();//使用數(shù)據(jù)集,采取斷開式訪問數(shù)據(jù)
da.Fill(ds, "person");
GridView1.DataSource = ds;
GridView1.DataKeyNames=new string[]{"pid"};//設(shè)置主鍵
GridView1.DataBind();
}


//利用CheckBox選中信息
protected void CheckBox2_CheckedChanged(object sender, EventArgs e)
{
for (int i = 0; i = GridView1.Rows.Count - 1; i++)
{
CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
if (CheckBox2.Checked == true)
{
cbox.Checked = true;
}
else
{
cbox.Checked = false;
}
}

}

//刪除選中信息
protected void Button1_Click(object sender, EventArgs e)
{
for (int i = 0; i = GridView1.Rows.Count - 1; i++)
{
CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
if (cbox.Checked == true)
{
string sqlstr = "delete from person where pid='" + GridView1.DataKeys[i].Value + "'";
cmd = new SqlCommand(sqlstr, con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
}
bind();

}
//取消選中信息
protected void Button2_Click(object sender, EventArgs e)
{
CheckBox2.Checked = false;
for (int i = 0; i = GridView1.Rows.Count - 1; i++)
{
CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
cbox.Checked = false;
}

}
運(yùn)行結(jié)果:




鼠標(biāo)移到GridView某一行時(shí)改變?cè)撔械谋尘吧椒ㄒ?/P>

小實(shí)例:

GridView.aspx

復(fù)制代碼 代碼如下:

asp:GridView ID="GridView1" runat="server" Height="138px" Width="1117px"
AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False"
onpageindexchanging="GridView1_PageIndexChanging"
onrowcancelingedit="GridView1_RowCancelingEdit"
onrowdeleting="GridView1_RowDeleting" onrowediting="GridView1_RowEditing"
onrowupdating="GridView1_RowUpdating" PageSize="4"
onrowdatabound="GridView1_RowDataBound">
Columns>
asp:TemplateField>
ItemTemplate>
asp:CheckBox ID="CheckBox1" runat="server" />
/ItemTemplate>
/asp:TemplateField>
asp:BoundField DataField="pid" HeaderText="身份證號(hào)" SortExpression="pid" />
asp:BoundField DataField="pname" HeaderText="姓名" SortExpression="pname" />
asp:BoundField DataField="psex" HeaderText="性別" SortExpression="psex" />
asp:BoundField DataField="padress" HeaderText="地址" SortExpression="padress" />
asp:BoundField DataField="pyoubiao" HeaderText="郵編" SortExpression="pyoubiao" />
asp:BoundField DataField="pprice" HeaderText="工資起價(jià)" SortExpression="pprice" />
%-- asp:CommandField HeaderText="選擇" ShowSelectButton="True" />
asp:CommandField HeaderText="編輯" ShowEditButton="True" />
asp:CommandField HeaderText="刪除" ShowDeleteButton="True" />--%>
/Columns>
EmptyDataRowStyle BackColor="Red" />
HeaderStyle BackColor="#0000CC" Font-Bold="True" ForeColor="White" />
PagerStyle BackColor="#864" HorizontalAlign="Center" ForeColor="White"/>
/asp:GridView>

GridView.aspx.cs

復(fù)制代碼 代碼如下:

//公有數(shù)據(jù)
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["sqlcon"].ConnectionString);
SqlCommand cmd;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bind(); //正常綁定
}
}

public void bind()
{
//數(shù)據(jù)連接web.config中已配置的數(shù)據(jù)
SqlDataAdapter da = new SqlDataAdapter("select * from person", con);//使用數(shù)據(jù)適配器內(nèi)置查詢,自動(dòng)開閉數(shù)據(jù)庫(kù)
DataSet ds = new DataSet();//使用數(shù)據(jù)集,采取斷開式訪問數(shù)據(jù)
da.Fill(ds, "person");
GridView1.DataSource = ds;
GridView1.DataKeyNames=new string[]{"pid"};//設(shè)置主鍵
GridView1.DataBind();
}

//鼠標(biāo)移動(dòng)到某一行,改變改行顏色
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
for (int i = 0; i GridView1.Rows.Count+1; i++) //執(zhí)行循環(huán),保證每條數(shù)據(jù)都可以更新
{
if (e.Row.RowType == DataControlRowType.DataRow) //首先判斷是否是數(shù)據(jù)行
{
//當(dāng)鼠標(biāo)停留時(shí)更改背景色
e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#999'");
//當(dāng)鼠標(biāo)移開時(shí)還原背景色
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
}
}

}

運(yùn)行結(jié)果:

 




鼠標(biāo)移到GridView某一行時(shí)改變?cè)撔械谋尘吧椒ǘ?/P>

小實(shí)例:

GridView.aspx

GridView.aspx.cs

復(fù)制代碼 代碼如下:

//鼠標(biāo)移動(dòng)到某一行,改變改行顏色
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
//如果是綁定數(shù)據(jù)行
if (e.Row.RowType == DataControlRowType.DataRow)
{
//鼠標(biāo)經(jīng)過時(shí),行背景色變
e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#999'");
//鼠標(biāo)移出時(shí),行背景色變
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#087'");
}
}

運(yùn)行結(jié)果:


GridView實(shí)現(xiàn)刪除時(shí)彈出確認(rèn)對(duì)話框

小實(shí)例:

GridView.aspx

復(fù)制代碼 代碼如下:

asp:GridView ID="GridView1" runat="server" Height="138px" Width="1117px"
AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False"
onpageindexchanging="GridView1_PageIndexChanging"
onrowcancelingedit="GridView1_RowCancelingEdit"
onrowdeleting="GridView1_RowDeleting" onrowediting="GridView1_RowEditing"
onrowupdating="GridView1_RowUpdating" PageSize="4"
onrowdatabound="GridView1_RowDataBound">
Columns>
asp:TemplateField>
ItemTemplate>
asp:CheckBox ID="CheckBox1" runat="server" />
/ItemTemplate>
/asp:TemplateField>
asp:BoundField DataField="pid" HeaderText="身份證號(hào)" SortExpression="pid" />
asp:BoundField DataField="pname" HeaderText="姓名" SortExpression="pname" />
asp:BoundField DataField="psex" HeaderText="性別" SortExpression="psex" />
asp:BoundField DataField="padress" HeaderText="地址" SortExpression="padress" />
asp:BoundField DataField="pyoubiao" HeaderText="郵編" SortExpression="pyoubiao" />
asp:BoundField DataField="pprice" HeaderText="工資起價(jià)" SortExpression="pprice" />
%-- asp:CommandField HeaderText="選擇" ShowSelectButton="True" />
asp:CommandField HeaderText="編輯" ShowEditButton="True" />--%>
asp:CommandField HeaderText="刪除" ShowDeleteButton="True" />
/Columns>
EmptyDataRowStyle BackColor="Red" />
HeaderStyle BackColor="#0000CC" Font-Bold="True" ForeColor="White" />
PagerStyle BackColor="#864" HorizontalAlign="Center" ForeColor="White"/>
/asp:GridView>

GridView.aspx.cs

復(fù)制代碼 代碼如下:

//鼠標(biāo)移動(dòng)到某一行,改變改行顏色
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
#region
//如果是綁定數(shù)據(jù)行
if (e.Row.RowType == DataControlRowType.DataRow)
{
//鼠標(biāo)經(jīng)過時(shí),行背景色變
e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#999'");
//鼠標(biāo)移出時(shí),行背景色變
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#087'");
}
#endregion
//如果是綁定數(shù)據(jù)行
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
{
((LinkButton)e.Row.Cells[7].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('你確認(rèn)要?jiǎng)h除:\"" + e.Row.Cells[1].Text + "\"嗎?')");
}
}
}

運(yùn)行結(jié)果:



GridView實(shí)現(xiàn)自動(dòng)編號(hào)

小實(shí)例:

GridView.aspx

前臺(tái)代碼如上

GridView.aspx.cs

綁定顯示數(shù)據(jù)代碼如上,不再總結(jié),以下只做主要代碼:

復(fù)制代碼 代碼如下:

//實(shí)現(xiàn)自動(dòng)編號(hào)
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
#region
//如果是綁定數(shù)據(jù)行
if (e.Row.RowType == DataControlRowType.DataRow)
{
//鼠標(biāo)經(jīng)過時(shí),行背景色變
e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#999'");
//鼠標(biāo)移出時(shí),行背景色變
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#087'");
}
#endregion
#region
//如果是綁定數(shù)據(jù)行
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
{
((LinkButton)e.Row.Cells[8].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('你確認(rèn)要?jiǎng)h除:\"" + e.Row.Cells[1].Text + "\"嗎?')");
}
}
#endregion
if (e.Row.RowIndex != -1)
{
int id = e.Row.RowIndex + 1;
e.Row.Cells[0].Text = id.ToString();
}
}

運(yùn)行結(jié)果:



GridView實(shí)現(xiàn)用“...”代替超長(zhǎng)字符串

小實(shí)例:

GridView.aspx

復(fù)制代碼 代碼如下:

asp:GridView ID="GridView1" runat="server" Height="138px" Width="1117px"
AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False"
onpageindexchanging="GridView1_PageIndexChanging"
onrowcancelingedit="GridView1_RowCancelingEdit"
onrowdeleting="GridView1_RowDeleting" onrowediting="GridView1_RowEditing"
onrowupdating="GridView1_RowUpdating" PageSize="4"
onrowdatabound="GridView1_RowDataBound">
Columns>
asp:BoundField DataField="id" HeaderText="證號(hào)" SortExpression="id" />
asp:TemplateField>
ItemTemplate>
asp:CheckBox ID="CheckBox1" runat="server" />
/ItemTemplate>
/asp:TemplateField>
asp:BoundField DataField="pid" HeaderText="身份證號(hào)" SortExpression="pid" />
asp:BoundField DataField="pname" HeaderText="姓名" SortExpression="pname" />
asp:BoundField DataField="psex" HeaderText="性別" SortExpression="psex" />
asp:BoundField DataField="padress" HeaderText="地址" SortExpression="padress" />
asp:BoundField DataField="pyoubiao" HeaderText="郵編" SortExpression="pyoubiao" />
asp:BoundField DataField="pprice" HeaderText="工資起價(jià)" SortExpression="pprice" />
%-- asp:CommandField HeaderText="選擇" ShowSelectButton="True" />
asp:CommandField HeaderText="編輯" ShowEditButton="True" />--%>
asp:CommandField HeaderText="刪除" ShowDeleteButton="True" />
/Columns>
EmptyDataRowStyle BackColor="Red" />
HeaderStyle BackColor="#0000CC" Font-Bold="True" ForeColor="White" />
PagerStyle BackColor="#864" HorizontalAlign="Center" ForeColor="White"/>
/asp:GridView>

GridView.aspx.cs

復(fù)制代碼 代碼如下:

public void bind()
{
//數(shù)據(jù)連接web.config中已配置的數(shù)據(jù)
SqlDataAdapter da = new SqlDataAdapter("select * from person", con);//使用數(shù)據(jù)適配器內(nèi)置查詢,自動(dòng)開閉數(shù)據(jù)庫(kù)
DataSet ds = new DataSet();//使用數(shù)據(jù)集,采取斷開式訪問數(shù)據(jù)
da.Fill(ds, "person");
GridView1.DataSource = ds;
GridView1.DataKeyNames=new string[]{"pid"};//設(shè)置主鍵
GridView1.DataBind();
//省略字符
for (int i = 0; i = GridView1.Rows.Count - 1; i++)
{
DataRowView mydrv;
string gIntro;
if (GridView1.PageIndex == 0)
{
mydrv = ds.Tables["person"].DefaultView[i];
gIntro = Convert.ToString(mydrv["padress"]);
GridView1.Rows[i].Cells[5].Text = SubStr(gIntro, 2);
}
else
{
mydrv = ds.Tables["person"].DefaultView[i + (5 * GridView1.PageIndex)];
gIntro = Convert.ToString(mydrv["padress"]);
GridView1.Rows[i].Cells[5].Text = SubStr(gIntro, 2);
}
}
}

public string SubStr(string sString, int nLeng)
{
if (sString.Length = nLeng)
{
return sString;
}
string sNewStr = sString.Substring(0, nLeng);
sNewStr = sNewStr + "...";
return sNewStr;
}

運(yùn)行結(jié)果:




GridView顯示隱藏某一列

小實(shí)例:

GridView.aspx

復(fù)制代碼 代碼如下:

asp:GridView ID="GridView1" runat="server" Height="138px" Width="1117px"
AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False"
onpageindexchanging="GridView1_PageIndexChanging"
onrowcancelingedit="GridView1_RowCancelingEdit"
onrowdeleting="GridView1_RowDeleting" onrowediting="GridView1_RowEditing"
onrowupdating="GridView1_RowUpdating" PageSize="4"
onrowdatabound="GridView1_RowDataBound">
Columns>
asp:BoundField DataField="id" HeaderText="證號(hào)" SortExpression="id" />
asp:TemplateField>
ItemTemplate>
asp:CheckBox ID="CheckBox1" AutoPostBack="true" runat="server" />
/ItemTemplate>
/asp:TemplateField>
asp:BoundField DataField="pid" HeaderText="身份證號(hào)" SortExpression="pid" />
asp:BoundField DataField="pname" HeaderText="姓名" SortExpression="pname" />
asp:BoundField DataField="psex" HeaderText="性別" SortExpression="psex" />
asp:BoundField DataField="padress" HeaderText="地址" SortExpression="padress" />
asp:BoundField DataField="pyoubiao" HeaderText="郵編" SortExpression="pyoubiao" />
asp:BoundField DataField="pprice" HeaderText="工資起價(jià)" SortExpression="pprice" />
%-- asp:CommandField HeaderText="選擇" ShowSelectButton="True" />
asp:CommandField HeaderText="編輯" ShowEditButton="True" />--%>
asp:CommandField HeaderText="刪除" ShowDeleteButton="True" />
/Columns>
EmptyDataRowStyle BackColor="Red" />
HeaderStyle BackColor="#0000CC" Font-Bold="True" ForeColor="White" />
PagerStyle BackColor="#864" HorizontalAlign="Center" ForeColor="White"/>
/asp:GridView>
br />
asp:CheckBox ID="CheckBox2" runat="server" ForeColor="Red" Text="全選"
AutoPostBack="True" oncheckedchanged="CheckBox2_CheckedChanged" />

nbsp;nbsp;nbsp;asp:CheckBox ID="CheckBox3" runat="server" ForeColor="Red" Text="隱藏工資起價(jià)"
AutoPostBack="True" oncheckedchanged="CheckBox3_CheckedChanged" />

nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;
asp:Button ID="Button1" runat="server" Font-Bold="true" ForeColor="red"
Text="刪除" onclick="Button1_Click" />
nbsp;nbsp;
asp:Button ID="Button2" runat="server" Font-Bold="true" ForeColor="red"
Text="取消" onclick="Button2_Click" />

GridView.aspx.cs

復(fù)制代碼 代碼如下:

public void bind()
{
//數(shù)據(jù)連接web.config中已配置的數(shù)據(jù)
SqlDataAdapter da = new SqlDataAdapter("select * from person", con);//使用數(shù)據(jù)適配器內(nèi)置查詢,自動(dòng)開閉數(shù)據(jù)庫(kù)
DataSet ds = new DataSet();//使用數(shù)據(jù)集,采取斷開式訪問數(shù)據(jù)
da.Fill(ds, "person");
GridView1.DataSource = ds;
GridView1.DataKeyNames=new string[]{"pid"};//設(shè)置主鍵
GridView1.DataBind();
//省略字符
#region
for (int i = 0; i = GridView1.Rows.Count - 1; i++)
{
DataRowView mydrv;
string gIntro;
if (GridView1.PageIndex == 0)
{
mydrv = ds.Tables["person"].DefaultView[i];
gIntro = Convert.ToString(mydrv["padress"]);
GridView1.Rows[i].Cells[5].Text = SubStr(gIntro, 2);
}
else
{
mydrv = ds.Tables["person"].DefaultView[i + (5 * GridView1.PageIndex)];
gIntro = Convert.ToString(mydrv["padress"]);
GridView1.Rows[i].Cells[5].Text = SubStr(gIntro, 2);
}
}
#endregion
//隱藏列
GridView1.Columns[7].Visible = false;//一開始隱藏
CheckBox3.Checked = false;//如果不這樣后面的代碼會(huì)把他True
}



//隱藏列
protected void CheckBox3_CheckedChanged(object sender, EventArgs e)
{
GridView1.Columns[7].Visible = !GridView1.Columns[7].Visible;
Response.Write("GridView1的第8列現(xiàn)在的顯示隱藏狀態(tài)是:" + GridView1.Columns[7].Visible.ToString());
}

運(yùn)行結(jié)果:

 




GridView彈出新頁(yè)面/彈出新窗口

小實(shí)例:

GridView.aspx

運(yùn)行結(jié)果:



GridView突出顯示某一單元格(工資低于10000元)

小實(shí)例:

GridView.aspx

復(fù)制代碼 代碼如下:

asp:GridView ID="GridView1" runat="server" Height="138px" Width="1117px"
AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False"
onpageindexchanging="GridView1_PageIndexChanging"
onrowcancelingedit="GridView1_RowCancelingEdit"
onrowdeleting="GridView1_RowDeleting" onrowediting="GridView1_RowEditing"
onrowupdating="GridView1_RowUpdating" PageSize="4"
onrowdatabound="GridView1_RowDataBound">
Columns>
asp:BoundField DataField="pid" HeaderText="身份證號(hào)" SortExpression="pid" />
%-- asp:BoundField DataField="pname" HeaderText="姓名" SortExpression="pname" />--%>

asp:HyperLinkField HeaderText="姓名" Text="姓名" DataNavigateUrlFields="pname" DataNavigateUrlFormatString="WebForm1.aspx?GoodsID={0}" Target="mainframe" NavigateUrl="~/WebForm1.aspx" DataTextField="pname" >
/asp:HyperLinkField>
asp:BoundField DataField="psex" HeaderText="性別" SortExpression="psex" />
asp:BoundField DataField="padress" HeaderText="地址" SortExpression="padress" />
asp:BoundField DataField="pyoubiao" HeaderText="郵編" SortExpression="pyoubiao" />
asp:BoundField DataField="pprice" HeaderText="工資起價(jià)" DataFormatString="{0:C}" SortExpression="pprice" />
asp:CommandField HeaderText="選擇" ShowSelectButton="True" />
asp:CommandField HeaderText="編輯" ShowEditButton="True" />
asp:CommandField HeaderText="刪除" ShowDeleteButton="True" />
/Columns>
EmptyDataRowStyle BackColor="Red" />
HeaderStyle BackColor="#0000CC" Font-Bold="True" ForeColor="White" />
PagerStyle BackColor="#864" HorizontalAlign="Center" ForeColor="White"/>
/asp:GridView>

GridView.aspx.cs

復(fù)制代碼 代碼如下:

public void bind()
{
//數(shù)據(jù)連接web.config中已配置的數(shù)據(jù)
SqlDataAdapter da = new SqlDataAdapter("select * from person", con);//使用數(shù)據(jù)適配器內(nèi)置查詢,自動(dòng)開閉數(shù)據(jù)庫(kù)
DataSet ds = new DataSet();//使用數(shù)據(jù)集,采取斷開式訪問數(shù)據(jù)
da.Fill(ds, "person");
GridView1.DataSource = ds;
GridView1.DataKeyNames=new string[]{"pid"};//設(shè)置主鍵
GridView1.DataBind();
//省略字符
#region
//for (int i = 0; i = GridView1.Rows.Count - 1; i++)
//{
// DataRowView mydrv;
// string gIntro;
// if (GridView1.PageIndex == 0)
// {
// mydrv = ds.Tables["person"].DefaultView[i];
// gIntro = Convert.ToString(mydrv["padress"]);
// GridView1.Rows[i].Cells[3].Text = SubStr(gIntro, 2);
// }
// else
// {
// mydrv = ds.Tables["person"].DefaultView[i + (5 * GridView1.PageIndex)];
// gIntro = Convert.ToString(mydrv["padress"]);
// GridView1.Rows[i].Cells[5].Text = SubStr(gIntro, 2);
// }
//}
#endregion
//隱藏列
//GridView1.Columns[3].Visible = false;//一開始隱藏
//CheckBox3.Checked = false;//如果不這樣后面的代碼會(huì)把他True
//突出顯示某一單元格(工資起價(jià)少于10000)
for (int i = 0; i = GridView1.Rows.Count - 1; i++)
{
DataRowView mydrv = ds.Tables["person"].DefaultView[i];
string price = Convert.ToString(mydrv["pprice"]);
if (Convert.ToDouble(price) 10000)//大家這里根據(jù)具體情況設(shè)置可能ToInt32等等
{
GridView1.Rows[i].Cells[5].BackColor = System.Drawing.Color.Red;
}
}
}

運(yùn)行結(jié)果:



GridView數(shù)據(jù)導(dǎo)入Excel/Excel數(shù)據(jù)讀入GridView

小實(shí)例:

GridView.aspx

復(fù)制代碼 代碼如下:
 
asp:GridView ID="GridView1" runat="server" Height="138px" Width="1117px"
AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False"
onpageindexchanging="GridView1_PageIndexChanging"
onrowcancelingedit="GridView1_RowCancelingEdit"
onrowdeleting="GridView1_RowDeleting" onrowediting="GridView1_RowEditing"
onrowupdating="GridView1_RowUpdating">
Columns>

asp:TemplateField HeaderText="身份證號(hào)" SortExpression="pid">
ItemTemplate>
asp:Label ID="Label1" runat="server" Text='%# Bind("pid") %>'>/asp:Label>
/ItemTemplate>
/asp:TemplateField>
%-- asp:BoundField DataField="pid" HeaderText="身份證號(hào)" SortExpression="pid" />--%>
asp:BoundField DataField="pname" HeaderText="姓名" SortExpression="pname" />
asp:BoundField DataField="psex" HeaderText="性別" SortExpression="psex" />
asp:BoundField DataField="padress" HeaderText="地址" SortExpression="padress" />
asp:BoundField DataField="pyoubiao" HeaderText="郵編" SortExpression="pyoubiao" />
asp:BoundField DataField="pprice" HeaderText="工資起價(jià)" SortExpression="pprice" />
asp:CommandField HeaderText="選擇" ShowSelectButton="True" />
asp:CommandField HeaderText="編輯" ShowEditButton="True" />
asp:CommandField HeaderText="刪除" ShowDeleteButton="True" />
/Columns>
EmptyDataRowStyle BackColor="Red" />
HeaderStyle BackColor="#0000CC" Font-Bold="True" ForeColor="White" />
PagerStyle BackColor="#864" HorizontalAlign="Center" ForeColor="White"/>
/asp:GridView>


GridView.aspx.cs
復(fù)制代碼 代碼如下:

//公有數(shù)據(jù)
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["sqlcon"].ConnectionString);
SqlCommand cmd;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bind(); //正常綁定
}
}


/// summary>
/// 主題:綁定數(shù)據(jù),查詢顯示個(gè)人信息
/// 時(shí)間:2012年11月21日14:54:13
/// 描述:通過簡(jiǎn)單的方法綁定,實(shí)現(xiàn)數(shù)據(jù)顯示
/// 作者:小伙
/// /summary>
public void bind()
{
//數(shù)據(jù)連接web.config中已配置的數(shù)據(jù)
SqlDataAdapter da = new SqlDataAdapter("select top 5 * from person", con);//使用數(shù)據(jù)適配器內(nèi)置查詢,自動(dòng)開閉數(shù)據(jù)庫(kù)
DataSet ds = new DataSet();//使用數(shù)據(jù)集,采取斷開式訪問數(shù)據(jù)
da.Fill(ds, "person");
GridView1.DataSource = ds;
GridView1.DataKeyNames=new string[]{"pid"};//設(shè)置主鍵
GridView1.DataBind();
}

//實(shí)現(xiàn)分頁(yè)
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
this.bind();
}
//刪除
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string sqlstr = "delete from person where pid='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";
con.Open();
cmd = new SqlCommand(sqlstr, con);
cmd.ExecuteNonQuery();
con.Close();
bind();


}
//取消編輯
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
bind();
}
//編輯
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
bind();
}

//更新
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string sqlstr = "update person set pname='"
+((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "',psex='"
+((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim()+"',padress='"
+((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim()+"',pyoubiao='"
+((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim()+"',pprice='"
+((TextBox)(GridView1.Rows[e.RowIndex].Cells[5].Controls[0])).Text.ToString().Trim()+"' where pid='"
+GridView1.DataKeys[e.RowIndex].Value.ToString()+"'";
cmd = new SqlCommand(sqlstr, con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
GridView1.EditIndex = -1;
bind();

}

運(yùn)行結(jié)果:

導(dǎo)出結(jié)果:

標(biāo)簽:潛江 洛陽 綏化 呼倫貝爾 西藏 運(yùn)城 阿里 克拉瑪依

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《GridView常用操作事件圖文介紹》,本文關(guān)鍵詞  GridView,常用,操作,事件,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《GridView常用操作事件圖文介紹》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于GridView常用操作事件圖文介紹的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    常熟市| 仁布县| 扬州市| 习水县| 普安县| 武胜县| 普定县| 呈贡县| 县级市| 南漳县| 周宁县| 井陉县| 武穴市| 正蓝旗| 眉山市| 乡宁县| 莱西市| 如东县| 京山县| 吉首市| 德格县| 达尔| 徐汇区| 成武县| 普格县| 新营市| 香格里拉县| 伊宁市| 大兴区| 隆德县| 红安县| 泰安市| 保康县| 平和县| 松桃| 那坡县| 宁城县| 洪江市| 台南市| 福建省| 上饶县|