GridView 에서 FindControl 사용 하기
FindControl GridView, , 。
1、 (SelectedIndexChanged)
// TextBox1
protected void gv1_SelectedIndexChanged(object sender, EventArgs e)
{
//Control c = this.gv1.Rows[this.gv1.SelectedIndex].FindControl("TextBox1");
//TextBox tb = (TextBox)c;
//tb.Text = "TextBox";
TextBox tb = (TextBox)this.gv1.Rows[this.gv1.SelectedIndex].FindControl("TextBox1");
tb.Text = "hello";
}
2、 (RowEditing)
// , TextBox1
protected void gv1_RowEditing(object sender, GridViewEditEventArgs e)
{
//
gv1.EditIndex = e.NewEditIndex;
GridViewBind();
TextBox tb = (TextBox)this.gv1.Rows[e.NewEditIndex].FindControl("TextBox1");
Response.Write(tb.Text);
}
3、 (RowCancelingEdit)
// , TextBox1
protected void gv1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
TextBox tb = (TextBox)this.gv1.Rows[e.RowIndex].FindControl("TextBox1");
Response.Write(tb.Text);
gv1.EditIndex = -1;
GridViewBind();
}
4、 (RowDataBound)
// TextBox1
protected void gv1_RowDataBound(object sender, GridViewRowEventArgs e)
{
// RowDataBound Find, if (e.Row.RowType == DataControlRowType.DataRow) Find , Find HeaderTemplate , , HeaderTemplate , null, ,DataControlRowType DataRow .
//if (e.Row.RowType == DataControlRowType.DataRow)
//{
// TextBox tb = (TextBox)e.Row.FindControl("TextBox1");
// tb.Text = "databind";
//}
// DataGrid :
//if (e.Row.RowType == DataControlRowType.Header)
//{
// TextBox tbheader = (TextBox)e.Row.FindControl("txtHeader");
// tbheader.Text = "Head";
//}
((TextBox)this.gv1.Controls[0].Controls[0].FindControl("txtHeader")).Text = "Head";
if (e.Row.RowType == DataControlRowType.Footer)
{
TextBox tbfooter = (TextBox)e.Row.FindControl("txtFooter");
tbfooter.Text = "Footer";
}
}
5、 (RowCommand)
// TextBox1
// GridView ,e.CommandArgument Index, gridview1.Rows[Convert.ToInt32(e.CommandArgument)].FindControl("xxx") , Template,e.CommandArgument , , <ItemTemplate></ItemTemplate> CommandArgument="<%# ((GridViewRow) Container).RowIndex %>", Index e.CommandArgument .
protected void gv1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.ToLower() == "change")
{
TextBox tb = (TextBox)this.gv1.Rows[Convert.ToInt32(e.CommandArgument)].FindControl("TextBox1");
Response.Write(tb.Text);
}
}
,
, :UseTest3.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="UseTest3.aspx.cs" Inherits="UseTest3" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title> </title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="gv1" runat="server" AutoGenerateColumns="False" OnSelectedIndexChanged="gv1_SelectedIndexChanged" OnRowEditing="gv1_RowEditing" OnRowDataBound="gv1_RowDataBound" ShowFooter="True" OnRowCommand="gv1_RowCommand" DataKeyNames="employeeid" OnRowCancelingEdit="gv1_RowCancelingEdit">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:TextBox ID="txtHeader" runat="Server"></asp:TextBox>
</HeaderTemplate>
<ItemTemplate>
<asp:TextBox ID="TextBox1" Text='<%# Bind("employeeid")%>' runat="server"></asp:TextBox>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtFooter" runat="server"></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>
<asp:BoundField DataField="lastname" HeaderText="LastName" />
<asp:BoundField DataField="firstname" HeaderText="FirstName" />
<asp:ButtonField CommandName="select" Text=" " />
<asp:ButtonField CommandName="change" Text="change" />
<asp:CommandField ShowEditButton="True" />
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MVC의 심연를 보면 Trygve Reenskaug씨가 고안했다고 쓰여 있다. 뷰에 조작 오브젝트가 있는 경우와, 단순히 키보드나 마우스의 상태를 픽업하는 것을 고려하는 예이다. 그러나 잘 생각하면 이상하다. 예를 들어 키보드에...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.