Solved

Add a textbox and other controls to a gridview

Posted on 2008-06-18
3
816 Views
Last Modified: 2013-11-07
All,

I am looking at adding a basket to a web page.  I have this working to a basic standard, but now want to add extra functionality to it.

At the moment I have the data held in a session array that i populate on the basket screen in a grid view.

I have populated the gridview with 6 columns .  The first 2 are not data assigned by the session variables but is a check box column called remove and a text box column called Tyres required that has a text box in.

The other columns are assigned by code (see snippet)

Basically I have three problems that i do not know how to do.

1.  Because I used the designer to add the first 2 columns and code the rest the designer columns appear first in the gridview when i would like them to appear at different stages.  How do I write the code to add a column and in that column have a text box and how do i do the same but for a check box?

2.  How do I then reference that columns text box or check box?  At the moment I loop through each row  and use this

Dim tb As TextBox = CType(r.FindControl("TextBox1"), TextBox)

Would this be different?

3.  On a different note i would possibly like to make something on the row happen if the check box is ticked.  Is there an event that says when a row is changed do something.  What would the code be say on the check box being checked i wanted the textbox column for this row only to be disabled, but still in the view?

Thanks for your help.
If Not IsPostBack Then
 
 
            Dim arr As String(,) = cartItems
 
            'Label1.Text = cartItemCount
 
            Dim t As New DataTable("salesOrder")
            t.Columns.Add("Part_Number")
            t.Columns.Add("Tyre_Size")
            t.Columns.Add("Aircraft")
            t.Columns.Add("Main_or_AUX")
 
            ' Loops around - 1 because it is a count not an array position
            For i As Integer = 0 To cartItemCount - 1
                t.Rows.Add(arr(i, 0), arr(i, 1), arr(i, 2), arr(i, 3))
            Next
 
            GridView1.DataSource = t
            GridView1.DataBind()
 
        End If

Open in new window

0
Comment
Question by:yo_daz_uk
  • 2
3 Comments
 

Author Comment

by:yo_daz_uk
ID: 21817786
Any ideas?
0
 
LVL 12

Accepted Solution

by:
renjurdevan earned 310 total points
ID: 21819283
0
 

Author Closing Comment

by:yo_daz_uk
ID: 31468401
the answer did not really answer my question, but got me thinking a different way.  Basically you add your data bound fields in the grid designer, but you set there data field attributes in the columns collection to the name of the column you have created in code.

Also, I unticked auto generate fileds in the columns collection I think this helped.  Obviously this was only section 1 out of 3 the answer for but no one else is writing any comments.
0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

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

Today I had a very interesting conundrum that had to get solved quickly. Needless to say, it wasn't resolved quickly because when we needed it we were very rushed, but as soon as the conference call was over and I took a step back I saw the correct …
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

809 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