• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 284
  • 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

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

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