954,580 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Controls in GridView

hi

how can i add controls to a gridview at runtime? anyone knows?

infinity4ever
Newbie Poster
22 posts since Jun 2006
Reputation Points: 10
Solved Threads: 0
 

I think you can do this in the same way that you would any table-related collection. If you simply want to add a control, you user GridView1.Rows(y).Cells(x).Controls.Add(ControlToAdd) If you want to add a complete row of controls, you can create a table row object at runtime: Dim x as new TableRow and similarly create table cells. Then you will add each table cell to the row: TR.Cells.Add(TC) (TR = table row/TC = table cell). Finally, you would add the row to the gridview. GridView1.Rows.Add(TR)

...assuming you are using VB for coding ;)

ChimpusDupus
Light Poster
47 posts since Jul 2006
Reputation Points: 10
Solved Threads: 0
 

hi ChimpusDupus

am using vb.net.. i didnt try your method yet but i will and i'll tell you the results

thank you very much :)

infinity4ever
Newbie Poster
22 posts since Jun 2006
Reputation Points: 10
Solved Threads: 0
 

it didnt work i dont know why.. always give me an error out of range whats the problem?

infinity4ever
Newbie Poster
22 posts since Jun 2006
Reputation Points: 10
Solved Threads: 0
 

Out of range means you are trying to access an item in a collection that doesn't exist.

Take Cells for example, Cells(0) is the first cell in the Cells collection, if there is only 1 cell in the collection and you try referencing Cells(1) then you get an out of range error.

hollystyles
Veteran Poster
1,182 posts since Feb 2005
Reputation Points: 262
Solved Threads: 68
 

Finally its done.. PARTIALLY

seems like there is one problem left... can anyone help me with?

i did this:

Dim LB as new Label
Dim TR as new TableRow
Dim TC as new TableCell
Dim DT as new Data.DataTable
Dim DC as new Data.DataColumn

LB.Text = "Hello"
TC.Controls.Add(LB)
TR.Cells.Add(TC)
DC.ColumnName = "Labels"
DT.Columns.Add(DC)
DT.Rows.Add(TR)
GridView.DataSource = DT
GridView.DataBind()


this is the code... but when i click a button to run it the grid view display a column with the name "Labels" as i want but in the cell it only writes this:

System.Web.UI.WebControls.TableRow

instead of displaying the label i created

whats the problem? anyone knows?

infinity4ever
Newbie Poster
22 posts since Jun 2006
Reputation Points: 10
Solved Threads: 0
 

all i want is to load that label into the grid view :(

infinity4ever
Newbie Poster
22 posts since Jun 2006
Reputation Points: 10
Solved Threads: 0
 
protected void Button1_Click(object sender, EventArgs e)

    {

        DropDownList ddl = new DropDownList();

        ddl.Visible = true;

        ddl.ID = "ddl1";

        ddl.Items.Add("Item1");

        TableCell cell = new TableCell();      

        gv.Rows[0].Cells.Add(cell);

        gv.Rows[0].Cells[0].Controls.Add(ddl);

    }
venu.net143
Newbie Poster
2 posts since Sep 2010
Reputation Points: 10
Solved Threads: 0
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You