>Hi friends....i have a little err...situation here. I'm trying to add columns to a grid at run time but i can't seem to add the caption. I used the following lines
>
>** where grd_expense is the name of the grid
>** hoo = is the variable containing the name of the column to be added
>
>thisform.grd_expense.AddObject(hoo, "column")
>thisform.grd_expense.&hoo..header1.caption='Amount'
>
>the problem that comes up is that the header caption does not display at all even if i refresh the grid. Also everytime i check if the caption does have value using messagebox ex.
>
>messagebox(thisform.grd_expense.&hoo..header1.caption)
>
>it indicates that the value of the caption is indeed the word 'Amount'
>
>how do i go about this problem?
>
>Stephanie
Stepanie,
Here it was visible = .t. not set after addobject() (addobject by default sets visibility to .f. to prevent weird visual effects while you change properties). Though with grid you don't need to set visible=.t. for all objects added do it to be sure.
Instead of Addobject, AddColumn is more suitable for grids. You can specify position ;) Here is a sample to show its flexibility :
with thisform.grd_expense
.AddColumn(5)
with .Columns(.ColumnCount)
.Name = hoo
.Header1.Caption = 'Amount'
.ControlSource = lcControlSource
.DynamicBackColor = 'iif(myTable.Amount<50,rgb(255,0,0),rgb(0,255,0))'
.Width = .Width * 2
.Addobject('spnAmount','Spinner')
.CurrentControl = 'spnAmount'
.spnAmount.Visible = .t.
endwith
endwith
Cetin