GridView 상용 조작 이벤트 그림 소개

45580 단어 gridview 이벤트
gridview 에서 NET 를 배 우 는 학생 들 에 게 는 더 이상 익숙 하지 않 지만 그 중에서 기능 사건 은 인 코딩 이 능숙 하 게 이 루어 질 수 있 습 니까?얼마 전에 박문 과 자 료 를 보고 자신의 생각 을 종합 하면 다음 과 같다.
데이터베이스 디자인 은 다음 과 같 습 니 다.
디자인:

실현:

GridView 코드 없 는 페이지 정렬
작은 인 스 턴 스:
AllowSorting 은 True 로 설정 되 어 있 으 며,aspx 코드 는 AllowSorting="True"입 니 다.
실행 결과:

GridView 선택,편집,취소,삭제
작은 인 스 턴 스:
GridView.aspx
 
<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=" " SortExpression="pid">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("pid") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<%-- <asp:BoundField DataField="pid" HeaderText=" " 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=" " 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
 
//
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["sqlcon"].ConnectionString);
SqlCommand cmd;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bind(); //
}
}


/// <summary>
/// : ,
/// :2012 11 21 14:54:13
/// : ,
/// :
/// </summary>
public void bind()
{
// web.config
SqlDataAdapter da = new SqlDataAdapter("select top 5 * from person", con);// ,
DataSet ds = new DataSet();// ,
da.Fill(ds, "person");
GridView1.DataSource = ds;
GridView1.DataKeyNames=new string[]{"pid"};//
GridView1.DataBind();
}

//
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();

}

실행 결과:
실행 초기 페이지:

편집 클릭:

업데이트 후:

GridView 양 방향 정렬
작은 인 스 턴 스:
GridView.aspx
 
<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=" " SortExpression="pid">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("pid") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>--%>
<asp:BoundField DataField="pid" HeaderText=" " 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=" " 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
 
//
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();

}
실행 결과:
정렬 전:

정렬 후:

 
 
GridView 와 드 롭 다운 메뉴 DropDownlList 결합
작은 인 스 턴 스:
GridView.aspx
 
<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=" " SortExpression="pid">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("pid") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>--%>
<asp:BoundField DataField="pid" HeaderText=" " 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=" " 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
 
//
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["sqlcon"].ConnectionString);
SqlCommand cmd;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Drpbind();//dropdown

}
}


//DropDownList
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 , datasouce
public SqlDataReader ddlbind()
{

string sqlstr = "select distinct psex from person";//distinct
using (cmd = new SqlCommand(sqlstr, con))
{
con.Close();
con.Open();
return cmd.ExecuteReader();
}
}
실행 결과:

 
GridView 와 CheckBox 의 결합
작은 인 스 턴 스:
GridView.aspx
 
<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=" " 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=" " 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
 
//
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["sqlcon"].ConnectionString);
SqlCommand cmd;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bind(); //
}
}


public void bind()
{
// web.config
SqlDataAdapter da = new SqlDataAdapter("select * from person", con);// ,
DataSet ds = new DataSet();// ,
da.Fill(ds, "person");
GridView1.DataSource = ds;
GridView1.DataKeyNames=new string[]{"pid"};//
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;
}

}
운행 결과:

마우스 가 GridView 한 줄 로 이동 할 때 이 줄 의 배경 색 을 바 꾸 는 방법 1
작은 인 스 턴 스:
GridView.aspx
 
<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=" " 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=" " 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
 
//
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["sqlcon"].ConnectionString);
SqlCommand cmd;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bind(); //
}
}

public void bind()
{
// web.config
SqlDataAdapter da = new SqlDataAdapter("select * from person", con);// ,
DataSet ds = new DataSet();// ,
da.Fill(ds, "person");
GridView1.DataSource = ds;
GridView1.DataKeyNames=new string[]{"pid"};//
GridView1.DataBind();
}

// ,
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
for (int i = 0; i < GridView1.Rows.Count+1; i++) // ,
{
if (e.Row.RowType == DataControlRowType.DataRow) //
{
//
e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#999'");
//
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
}
}

}
운행 결과:

 
마우스 가 GridView 한 줄 로 이동 할 때 이 줄 의 배경 색 을 바 꾸 는 방법 2
작은 인 스 턴 스:
GridView.aspx
GridView.aspx.cs
 
// ,
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
//
if (e.Row.RowType == DataControlRowType.DataRow)
{
// ,
e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#999'");
// ,
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#087'");
}
}
운행 결과:

GridView 삭제 시 팝 업 확인 대화 상자
작은 인 스 턴 스:
GridView.aspx
 
<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=" " 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=" " 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
 
// ,
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
#region
//
if (e.Row.RowType == DataControlRowType.DataRow)
{
// ,
e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#999'");
// ,
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#087'");
}
#endregion
//
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(' :\"" + e.Row.Cells[1].Text + "\" ?')");
}
}
}
운행 결과:

GridView 자동 번호 구현
작은 인 스 턴 스:
GridView.aspx
프론트 코드 가 위 와 같 습 니 다.
GridView.aspx.cs
바 인 딩 디 스 플레이 데이터 코드 는 위 와 같 습 니 다.더 이상 정리 하지 않 습 니 다.다음은 주요 코드 만 합 니 다.
 
//
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
#region
//
if (e.Row.RowType == DataControlRowType.DataRow)
{
// ,
e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#999'");
// ,
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#087'");
}
#endregion
#region
//
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(' :\"" + e.Row.Cells[1].Text + "\" ?')");
}
}
#endregion
if (e.Row.RowIndex != -1)
{
int id = e.Row.RowIndex + 1;
e.Row.Cells[0].Text = id.ToString();
}
}
운행 결과:

GridView 는 긴 문자열 대신"..."을 사용 합 니 다.
작은 인 스 턴 스:
GridView.aspx
 
<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=" " SortExpression="id" />
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="pid" HeaderText=" " 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=" " 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
 
public void bind()
{
// web.config
SqlDataAdapter da = new SqlDataAdapter("select * from person", con);// ,
DataSet ds = new DataSet();// ,
da.Fill(ds, "person");
GridView1.DataSource = ds;
GridView1.DataKeyNames=new string[]{"pid"};//
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;
}
운행 결과:

GridView 는 열 을 숨 기 는 것 을 보 여 줍 니 다.
작은 인 스 턴 스:
GridView.aspx
 
<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=" " SortExpression="id" />
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" AutoPostBack="true" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="pid" HeaderText=" " 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=" " 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=" "
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
 
public void bind()
{
// web.config
SqlDataAdapter da = new SqlDataAdapter("select * from person", con);// ,
DataSet ds = new DataSet();// ,
da.Fill(ds, "person");
GridView1.DataSource = ds;
GridView1.DataKeyNames=new string[]{"pid"};//
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;// True
}



//
protected void CheckBox3_CheckedChanged(object sender, EventArgs e)
{
GridView1.Columns[7].Visible = !GridView1.Columns[7].Visible;
Response.Write("GridView1 8 :" + GridView1.Columns[7].Visible.ToString());
}
운행 결과:

 
GridView 새 페이지 팝 업/새 창 팝 업
작은 인 스 턴 스:
GridView.aspx
실행 결과:

GridView 는 특정한 칸 을 강조 합 니 다(임금 이 10000 위안 이하).
작은 인 스 턴 스:
GridView.aspx
 
<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=" " 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=" " 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
 
public void bind()
{
// web.config
SqlDataAdapter da = new SqlDataAdapter("select * from person", con);// ,
DataSet ds = new DataSet();// ,
da.Fill(ds, "person");
GridView1.DataSource = ds;
GridView1.DataKeyNames=new string[]{"pid"};//
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;// True
// ( 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)// ToInt32
{
GridView1.Rows[i].Cells[5].BackColor = System.Drawing.Color.Red;
}
}
}
운행 결과:

GridView 데이터 가 져 오기 Excel/Excel 데이터 읽 기 GridView
작은 인 스 턴 스:
GridView.aspx
 
<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=" " SortExpression="pid">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("pid") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<%-- <asp:BoundField DataField="pid" HeaderText=" " 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=" " 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

//
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["sqlcon"].ConnectionString);
SqlCommand cmd;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bind(); //
}
}


/// <summary>
/// : ,
/// :2012 11 21 14:54:13
/// : ,
/// :
/// </summary>
public void bind()
{
// web.config
SqlDataAdapter da = new SqlDataAdapter("select top 5 * from person", con);// ,
DataSet ds = new DataSet();// ,
da.Fill(ds, "person");
GridView1.DataSource = ds;
GridView1.DataKeyNames=new string[]{"pid"};//
GridView1.DataBind();
}

//
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();

}
실행 결과:

결과 내 보 내기:

좋은 웹페이지 즐겨찾기