本文介绍了如何从gridview的ItemTemplate访问数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我设计了一个网格视图



I have desing a gridview

<asp:GridView runat="server" ID="GridView1">
    <Columns>

        <asp:TemplateField HeaderText="Name" >
   <ItemTemplate>

                <asp:TextBox ID="txtName" runat="server"></asp:TextBox>
            </ItemTemplate>
            </asp:TemplateField>
        <asp:TemplateField HeaderText="Code">

            <ItemTemplate>

                <asp:TextBox ID="txtCode" runat="server"></asp:TextBox>

            </ItemTemplate>

        </asp:TemplateField>
        <asp:TemplateField HeaderText="Serial Number">
            <ItemTemplate>
                <asp:TextBox ID="txtSNo" runat="server"></asp:TextBox>
            </ItemTemplate>

        </asp:TemplateField>
        <asp:TemplateField HeaderText="Internal Serial Number">
            <ItemTemplate>

                <asp:TextBox ID="txtISNo" runat="server"></asp:TextBox>

            </ItemTemplate>
         </asp:TemplateField>
        <asp:TemplateField HeaderText="Internal Serial Number">
            <ItemTemplate>

                <asp:TextBox ID="txtWaranty" runat="server"></asp:TextBox>

            </ItemTemplate>

        </asp:TemplateField>
        <asp:TemplateField HeaderText="Waranty">

            <ItemTemplate>

                <asp:TextBox ID="txtWStart" runat="server"></asp:TextBox>

            </ItemTemplate>

        </asp:TemplateField>
        <asp:TemplateField HeaderText="Start">

            <ItemTemplate>

                 <asp:TextBox ID="txtWEnd" runat="server">
                 </asp:TextBox>

            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="End">

            <ItemTemplate>

                 <asp:TextBox ID="txtStatus" runat="server">
                 </asp:TextBox>

            </ItemTemplate>

           

        </asp:TemplateField>

        </Columns>
   </asp:GridView>





并根据值添加行



And add rows depend upon value

int NoOfRows;
       protected void Page_Load(object sender, EventArgs e)
       {
           if (!IsPostBack)
           {
               NoOfRows = Convert.ToInt32((string)HttpContext.Current.Session["NoOfRows"]);
               CreateGrid(NoOfRows);
           }

       }
internal void CreateGrid(int rows)
        {
            dt = new DataTable();

            dt.Columns.Add(new DataColumn("Name", typeof(string)));
            dt.Columns.Add(new DataColumn("Code", typeof(string)));
            dt.Columns.Add(new DataColumn("Serial Number", typeof(string)));
            dt.Columns.Add(new DataColumn("Internal Serial Number", typeof(string)));
            dt.Columns.Add(new DataColumn("Waranty", typeof(string)));
            dt.Columns.Add(new DataColumn("Start", typeof(string)));
            dt.Columns.Add(new DataColumn("End", typeof(string)));
            dt.Columns.Add(new DataColumn("Status", typeof(string)));
            //Store the DataTable in ViewState


            for (int i = 0; i < NoOfRows; i++)
            {
                dr = dt.NewRow();

                dr["Name"] = NoOfRows.ToString();
                dr["Code"] = string.Empty;
                dr["Serial Number"] = string.Empty;
                dr["Internal Serial Number"] = string.Empty;
                dr["Waranty"] = string.Empty;
                dr["Start"] = string.Empty;
                dr["End"] = string.Empty;
                dr["Status"] = string.Empty;
                dt.Rows.Add(dr);
            }
            ViewState["CurrentTable"] = dt;
            GridView1.AutoGenerateColumns = false;
            GridView1.DataSource = dt;
            GridView1.DataBind();

            GridView1.Visible = true;
        }





现在我想在点击按钮时访问TextBox值。



Now I want to access TextBox value on button click.

推荐答案

TextBox txtSNo = (TextBox)GridView1.Rows[iCount].FindControl("txtSNo");

string SerialNumber = txtSNo.Text;


protected void button1_Click(object sender, EventArgs e)
{
     GridViewRow row = (GridViewRow)((Button)sender).NamingContainer;
     TextBox TextBox1 = row.FindControl("TextBox1") as TextBox; 

      //To access TextBox1 value here.
      string myString = TextBox1.Text;
}


protected void gridView_RowCommand(object sender, GridViewCommandEventArgs e)
{
	//this line is taking selected row value.
	int SelectedRow = Convert.ToInt32(e.CommandArgument.ToString());
	TextBox OrginalTextboxResource=(TextBox)gridDisplay.Rows[e.RowIndex].FindControl("Your Text Box Name");
	string UserEnteredText = OrginalTextboxResource.Text;
}


这篇关于如何从gridview的ItemTemplate访问数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-29 22:51