Solved

Dynamic table row with viewstate

Posted on 2008-06-19
9
1,458 Views
Last Modified: 2008-08-02
hello hello!

I am trying to create a table which will have dynmic additions to rows, the cells in the row will have textboxes as well.
Then the user clicks on "Add new Row" the row gets added to exisitng table. The key is that the information typed in previous rows should not disappear.
There is  "SAVE" button in the form as well. when the user clicks on this button the data in each row should be inserted in the database  one by one. Thus the Row should accessed programitically.


I have the below code called at LinkButton Click and
    Protected Overrides Sub LoadViewState(ByVal earlierState As Object)
        MyBase.LoadViewState(earlierState)
        'If Not ViewState("TableRow") Is Nothing Then
        If ViewState("TableRow") = True Then
            createTable()
        End If
Public Sub createMyTable()

        Dim rowCtr As Integer

        Dim cellCtr As Integer

        Dim t As TextBox

        Dim rowCnt As Integer = tblDashboard.Rows.Count

        If rowCnt < Session("NewCntRow") Then

            rowCnt = Session("NewCntRow")

        End If
 

        For rowCtr = 1 To rowCnt

            Dim tRow As New TableRow

            tRow.Height = 50

            Me.tblDashboard.Rows.Add(tRow)

            Session("NewCntRow") = tblDashboard.Rows.Count

            For cellCtr = 0 To tblDashboard.Rows(0).Cells.Count - 1

                t = New TextBox

                't.EnableViewState = True

                't.ID = "txt" & cellCtr

                Dim tCell As New TableCell

                tRow.Cells.Add(tCell)

                tRow.Cells.Item(cellCtr).Controls.Add(t)

            Next

            ViewState("TableRow") = True

        Next
 

    End Sub

Open in new window

0
Comment
Question by:Mayank_Agarwal
  • 5
  • 4
9 Comments
 
LVL 11

Expert Comment

by:anuragal
ID: 21829065
What is the problem Statement?

Anurag
0
 
LVL 1

Accepted Solution

by:
Mayank_Agarwal earned 0 total points
ID: 21843249
Hi
There are two tables on the page. Using the View state I ma able to keep the information on the page, But when i click on the any of the buttons the table is created for botht he table rather then only one of them,
0
 
LVL 11

Expert Comment

by:anuragal
ID: 21843406
can you paste the button click event code...

Anurag
0
 
LVL 1

Author Comment

by:Mayank_Agarwal
ID: 21844173
   Protected Overrides Sub LoadViewState(ByVal earlierState As Object)
        MyBase.LoadViewState(earlierState)

        If ViewState("vwPlanRow") = True Then
            createPlan()
            'ViewState("vwDashRow") = False
        End If

        If ViewState("vwDashRow") = True Then
            createDash()
            'MyBase.LoadViewState(earlierState)
            'ViewState("vwPlanRow") = False
        End If

    End Sub


Then CreatePlan and CreateDash sub creates table row straightforward stuff.

Linkbutton events
    Protected Sub lnkPlan_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        If Not ViewState("vwPlanRow") = True Then
            createPlan()
        End If

    End Sub

    Protected Sub lnkDash_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lnkDash.Click
        If Not ViewState("vwDashRow") = True Then
            createDash()
        End If
    End Sub


0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 11

Expert Comment

by:anuragal
ID: 21845021
Why you have repeated code of creating Dash & Plan in LoadViewState function. When you are creating the tables on button click.

Anurag
0
 
LVL 1

Author Comment

by:Mayank_Agarwal
ID: 21851137
I thought i have to do this to recreate the table with orignal value in them? is there are a better way of doing this?
0
 
LVL 11

Expert Comment

by:anuragal
ID: 21852407
Protected Overrides Sub LoadViewState(ByVal earlierState As Object)
        MyBase.LoadViewState(earlierState)

        If ViewState("vwPlanRow") = True Then
            createPlan()
            'ViewState("vwDashRow") = False
        End If

        If ViewState("vwDashRow") = True Then
            createDash()
            'MyBase.LoadViewState(earlierState)
            'ViewState("vwPlanRow") = False
        End If

    End Sub


In the above function you are calling same methods createPlan & createDash, rest of the code is commented, how you are loading the old state in this?

I feel this will create both the tables. To retain the original values you can try doing the viewstate of tblDashboard as true & comment all code in LoadViewState().

Anurag
0
 
LVL 1

Author Comment

by:Mayank_Agarwal
ID: 21852465
there are two tables that why i had to use this otherwise it only creates one table and clears teh second table.

Is there any other way to achieve this., i needt o two table either datagrid,gridview, table who care
the user should be able to add the data one by one (dynamic row generation) and than click on SAVE button to save complete data on the form
0
 
LVL 1

Author Comment

by:Mayank_Agarwal
ID: 22022763
none of the above are suitable solutions
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

One of the pain points with developing AJAX, JavaScript, JQuery, and other client-side behaviors is that JavaScript doesn’t allow for cross domain request for pulling content. For example, JavaScript code on www.johnchapman.name could not pull conte…
In an ASP.NET application, I faced some technical problems. In this article, I list them out and show the solutions that I found.  I hope it will be useful. Problem: After closing a pop-up window, the parent page should be refreshed automaticall…
Along with being a a promotional video for my three-day Annielytics Dashboard Seminor, this Micro Tutorial is an intro to Google Analytics API data.
Hi friends,  in this video  I'll show you how new windows 10 user can learn the using of windows 10. Thank you.

896 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

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now