Hi guys,
I want to bind my gridview to another button control. The scenario is when a user enters an 'ID' into the textbox and click on button 'Submit', the data will be displayed in the gridview. The user should be able to edit the information or add a new row. How do I go about doing this?
For now, my gridview isn't linked to the button control.
Here's my code:
<asp:Button ID="Button1" runat="server" Text="Submit" OnClick="Button1_Click" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<input type="hidden" id="hdnStdNo" runat="server" />
<asp:GridView ID="GridView1" runat="server" GridLines="Both" DataSourceID="SqlDataSource1" DataKeyNames="ID"
AutoGenerateColumns="false" AllowSorting="true" AllowPaging="true" AutoGenerateEditButton="true"
ShowFooter="true" EditRowStyle-Wrap="true" >
<Columns>
<asp:TemplateField>
</asp:TemplateField>
<asp:BoundField ReadOnly="true" HeaderText="ID" DataField="ID" SortExpression="ID" />
<asp:BoundField HeaderText="X_coordinate" DataField="X_coord" SortExpression="X_coord" />
<asp:BoundField HeaderText="Y_coordinate" DataField="Y_coord" SortExpression="Y_coord" />
<asp:BoundField HeaderText="Ref Seq No." DataField="RefSeq" SortExpression="RefSeq" />
<asp:BoundField HeaderText="Description" DataField="Description" SortExpression="Description" />
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="AccessNumberID" runat="server"><%# Eval("ID") %></asp:Label></ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="AccessIDText" runat="server"></asp:TextBox></FooterTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="X_point" runat="server"><%# Eval("X_coord") %></asp:Label></ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="X_pointText" runat="server"></asp:TextBox></FooterTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="Y_point" runat="server"><%# Eval("Y_coord") %></asp:Label></ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="Y_pointText" runat="server"></asp:TextBox></FooterTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="RefSequence" runat="server"><%# Eval("RefSeq") %></asp:Label></ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="RefSeqText" runat="server"></asp:TextBox></FooterTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="Desc" runat="server"><%# Eval("Description") %></asp:Label></ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="DescText" runat="server"></asp:TextBox></FooterTemplate>
</asp:TemplateField>
<asp:TemplateField>
<FooterTemplate>
<asp:Button ID="Button2" runat="server" Text="Add" OnClick="AddNew_Click"/>
</FooterTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Code-behind:
//add new row to gridview
protected void AddNew_Click(object sender, EventArgs e)
{
TextBox AccessNumID = GridView1.FooterRow.FindControl("AccessIDText") as TextBox;
TextBox Xpoint = GridView1.FooterRow.FindControl("X_pointText") as TextBox ;
TextBox Ypoint = GridView1.FooterRow.FindControl("Y_pointText") as TextBox;
TextBox RefSeqNum = GridView1.FooterRow.FindControl("RefSeqText") as TextBox;
TextBox DescExp = GridView1.FooterRow.FindControl("DescText") as TextBox;
SqlDataSource2.InsertParameters["ID"].DefaultValue = AccessNumID.Text;
SqlDataSource2.InsertParameters["X_coord"].DefaultValue = Xpoint.Text;
SqlDataSource2.InsertParameters["Y_coord"].DefaultValue = Ypoint.Text;
SqlDataSource2.InsertParameters["RefSeq"].DefaultValue = RefSeqNum.Text;
SqlDataSource2.InsertParameters["Description"].DefaultValue = DescExp.Text;
SqlDataSource2.Insert();
}/ / submit button control
protected void ButtonSubmit_Click(object sender, EventArgs e)
{
string connString = @"server = erl-ws32\sqlexpress;database=Sample_gene;Integrated Security=True";
SqlConnection sqlconn = new SqlConnection(connString);
sqlconn.Open();
??? What should i code here?
}