• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 288
  • Last Modified:

Finding a Control in formview insert template

Hi,
I am using VS-2008 VB and MS-SQL 2005.

I have an ASPX page with a Formview and a dropdown list on it. My Goal is to populate the dropdown list from a table in a database.

This works IF it is not in a formview.

Imports System.Data.SqlClient

Partial Public Class Test
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        'This will populate the Drop Down List with the store numbers...
        Dim connectionString As String = "Data Source=iwcrex1;Initial Catalog=IWCR75COMP01;Persist Security Info=True;User ID=webuser;Password=password"
        Dim dbcon As New SqlConnection(connectionString)
        dbcon.open()
        Dim dbcmd As New sqlcommand
        dbcmd.CommandText = "select * from arcadr where custno = 'LES-01' order by case when isnumeric(cshipno)=1 then cshipno*1 else 0 end"

        dbcmd.Connection = dbcon
        DropDownList1.DataTextField = "cshipno"
        DropDownList1.DataValueField = "id_col"
        DropDownList1.DataSource = dbcmd.ExecuteReader()
        DropDownList1.DataBind()
        DropDownList1.Items.Insert(0, New ListItem("", "NULL"))
        dbcmd.Dispose()
        dbcon.Dispose()

    End Sub

End Class

But. If I try it in a formview I can get it to work.

Here is what I am trying, Can someone help me with this Please.

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Label1.Text = System.DateTime.Now.ToLongDateString

        'This will populate the Drop Down List with the store numbers...
        Dim connectionString As String = "Data Source=iwcrex1;Initial Catalog=IWCR75COMP01;Persist Security Info=True;User ID=webuser;Password=password"
        Dim dbcon As New SqlConnection(connectionString)
        dbcon.Open()
        Dim dbcmd As New SqlCommand
        dbcmd.CommandText = "select * from arcadr where custno = 'LES-01' order by case when isnumeric(cshipno)=1 then cshipno*1 else 0 end"

        dbcmd.Connection = dbcon
        CType(FormView1.FindControl("DropDownList2").datatextfield = "cshipno"
        DropDownList1.DataValueField = "id_col"
        DropDownList1.DataSource = dbcmd.ExecuteReader()
        DropDownList1.DataBind()
        DropDownList1.Items.Insert(0, New ListItem("", "NULL"))
        dbcmd.Dispose()
        dbcon.Dispose()

    End Sub
0
Wildone63
Asked:
Wildone63
1 Solution
 
AliSyedCommented:
Dim ddl2 As DropDownList = FormView1.FindControl("DropDownList2")
            ddl2.DateValueField= "id_col"
      ddl2.DatetextField= "cshipno"


Also You do not show your html so I do not know which mode this is in.
if Edit mode then
FormView1.CurrentMode == FormViewMode.EDIT

Dim ddl2 As DropDownList = FormView1.FindControl("DropDownList2")
            ddl2.DateValueField= "id_col"
      ddl2.DatetextField= "cshipno"
Ali Syed
0
 
Wildone63Author Commented:
I am in the Insert Mode...
I tried what you said but now I get this error...

Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control.


Here is my HTML

        <InsertItemTemplate>
            <div class="style2">
                <br />
                <table class="style3">
                    <tr>
                        <td class="style7" height="23">
                            <b>Store:</b></td>
                        <td style="text-align: left" height="23">
                            <asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True"
                                onselectedindexchanged="DropDownList2_SelectedIndexChanged2"
                                SelectedValue='<%# Bind("Store") %>'>

                                </asp:DropDownList>
                        </td>
                    </tr>
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: SQL Server Core 2016

This course will introduce you to SQL Server Core 2016, as well as teach you about SSMS, data tools, installation, server configuration, using Management Studio, and writing and executing queries.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now