problem with programmatically created InsertItemTemplate

Last post 10-28-2006 11:12 AM by tartuffe2. 0 replies.

Sort Posts:

  • problem with programmatically created InsertItemTemplate

    10-28-2006, 11:12 AM
    • Member
      144 point Member
    • tartuffe2
    • Member since 06-28-2006, 6:15 AM
    • Posts 433

    Hi,

    I made programmatically 30 InsertItemTemplates for a detailsview in insert mode for a websurvey. On the detailsview, i can see the 30 textboxes and the labels with "This is question x" . The backcolor is also ok.
    My problem is that the values inserted into the detailsview are somewhere lost, so nothing is inserted in the database. The sub DetailsView1_ItemInserting is triggered, but there are no values. There are no error message.

    Thanks for any help

     

    Here my code:

    aspx file:
    ----------
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="Provider = ...></asp:SqlDataSource>

    <asp:DetailsView ID="DetailsView1" runat="server" DataSourceID="SqlDataSource1" DefaultMode="Insert"></asp:DetailsView>


    file in APPS_CODE:
    -----------------
    Imports Microsoft.VisualBasic

    Public Class DetailsViewTemplate
        Inherits System.Web.UI.Page
        Implements ITemplate
        Dim templatetype As ListItemType
        Dim columnname As String

        Public Sub New(ByVal type As ListItemType, ByVal vg As String)
            templatetype = type
            columnname = vg
        End Sub

        Private Sub InstantiateIn(ByVal container As Control) Implements ITemplate.InstantiateIn

            Select Case templatetype
                Case ListItemType.Header
                    'Dim lb = New Label
                    'lb.Text = columnname
                    'container.Controls.Add(lb)

                Case ListItemType.EditItem
                    Dim tb = New TextBox()
                    container.Controls.Add(tb)
            End Select
        End Sub
    End Class

    code-behind:
    -----------

    Partial Class test
        Inherits System.Web.UI.Page
    '---------------------------------------
    Protected Sub DetailsView1_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles DetailsView1.Init
           
     ..........

            For i = 0 To 30
                bf(i) = New TemplateField
                vg = "question" & i
                bf(i).InsertItemTemplate = New DetailsViewTemplate(ListItemType.EditItem, vg)
                DetailsView1.Fields.Add(bf(i))
              
         DetailsView1.Fields(i).HeaderText = "This is question " & i
           DetailsView1.Fields(i).ControlStyle.BackColor = System.Drawing.ColorTranslator.FromHtml("#E0F0F0")
            Next
        oConnection.Close()
        End Sub
    '---------------------------------------
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Dim sql As String
                If Not Page.IsPostBack Then
                Dim cf As CommandField
                cf = New CommandField
                cf.ShowInsertButton = True
                 DetailsView1.Fields.Add(cf)
               End If
            End Sub
    '----------------------------------------
    Protected Sub DetailsView1_ItemInserting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DetailsViewInsertEventArgs) Handles DetailsView1.ItemInserting
            Dim question, valu, vl, inscomm As String
            Dim i, j, tel As Integer
            For i = 1 To 30
               question = question & i & ","
                vl = e.Values("question" & i)     'is empty !!!
                valu = valu & "'" & vl & "',"
            Next

           valu = Left(valu, Len(valu) - 2)
            valu = valu & "')"
           question = Left(question, Len(question) - 1)
            question = question & ") values ('" & lol & "',"
          
            inscomm = "insert into data (" & question & valu
            SqlDataSource1.InsertCommand = inscomm
            SqlDataSource1.ProviderName = "System.Data.OleDb"
        End Sub
    End Class

Page 1 of 1 (1 items)