Solved

Finding a Control in formview insert template

Posted on 2010-11-15
2
278 Views
Last Modified: 2012-08-13
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
Comment
Question by:Wildone63
2 Comments
 
LVL 6

Accepted Solution

by:
AliSyed earned 500 total points
ID: 34141847
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
 
LVL 1

Author Comment

by:Wildone63
ID: 34141884
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

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Creating a route in asp.net webforms 2 25
REXEX help Part 2 2 22
Call windows 10 virtual keyboard from windows forms app 2 32
VB.NET 2008 - SQL Timeout 9 23
This article describes relatively difficult and non-obvious issues that are likely to arise when creating COM class in Visual Studio and deploying it by professional MSI-authoring tools. It is assumed that the reader is already familiar with the cla…
This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

786 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question