[Gambas-user] GridView.ClientWidth yields incorrect size on Form_Open
Gianluigi
bagonergi at gmail.com
Sun Feb 3 15:14:45 CET 2019
I forgot to specify that:
GridView1.Columns[1].Width = -1
it expands what is present in the column at the moment, therefore it must
be given after filling.
Regards
Gianluigi
Il giorno dom 3 feb 2019 alle ore 13:40 Gianluigi <bagonergi at gmail.com> ha
scritto:
> To be clearer:
> It all depends on how AutoResize is set, for Expand to work fine, it must
> be set to true.
> Try this which it seems simpler:
>
> '------------------------------
> Public Sub Form_Open()
>
> Dim Headers As String[] = ["0123456789", "0123456789", "0123456789",
> "0123456789"]
>
> With GridView1
> .AutoResize = True ' <---------------!!!
> .Header = GridView.Horizontal
> End With
> GridView1.Rows.Count = 1
> GridView1.Columns.Count = Headers.Count
> For i As Integer = 0 To Headers.Max
> GridView1.Columns[i].Title = Headers[i]
> GridView1[0, i].Text = String(30, "*")
> Next
> GridView1.Columns[0].Expand = True
>
> End
> '-------------------------------------------
>
> Regards
> Gianluigi
>
> Il giorno dom 3 feb 2019 alle ore 12:32 Denis Crowther <
> denisc at exemail.com.au> ha scritto:
>
>> Hmmm, so that made me curious.. :-)
>>
>> So I threw a new GridView on a form and found that expand in either of
>> these works as it should.
>>
>> I did notice that all the columns need to be sized at the same time.
>>
>> '---------------------------------------------
>> Public Sub Form_Open()
>>
>> Dim iWide As Integer = 65
>>
>> With GridView1
>> .Columns.Count = 3
>> .Header = GridView.Horizontal
>>
>> ' .Columns[0].Width = iWide
>> ' '-1 here makes the col really small
>> ' '.Columns[1].Width = -1
>> ' .Columns[1].Expand = True
>> ' .Columns[2].Width = iWide
>> End With
>>
>>
>> For x As Integer = 1 To 10
>> GridView1.Rows.Count += 1
>> GridView1[x - 1, 0].Text = "test: " & x
>> GridView1[x - 1, 1].Text = "rwrggrg rgrgreg reg erg reg last"
>> GridView1[x - 1, 2].Text = Str(x)
>> Next
>>
>> End
>> '---------------------------------------------
>> Public Sub GridView1_Arrange()
>>
>> Dim iWide As Integer = 65
>> With GridView1
>> .Columns[0].Width = iWide
>> .Columns[1].Expand = True
>> '-1 here resized the col to suit the data as expected
>> '.Columns[1].Width = -1
>> .Columns[2].Width = iWide
>> End With
>> End
>> '---------------------------------------------
>>
>> Regards
>> Denis
>>
>> On 3/2/19 11:03 am, T Lee Davidson wrote:
>> > Thank you for that, Denis. But, even that didn't work for me.
>> >
>> > I can accomplish what I need by mathematically resizing the
>> > variable-width column in relation to the combined widths of my
>> > fixed-width columns.
>> >
>> >
>> > ___
>> > Lee
>> >
>> >
>> > On 2/2/19 6:39 PM, Denis Crowther wrote:
>> >> Sure Lee,
>> >>
>> >> Copied straight from a working program.
>> >>
>> >> I 'think' the trick is to use the Arrange event.
>> >> Using -1 didn't work for me in the arrange event,
>> >> I haven't tested it anywhere else yet.
>> >>
>> >>
>> >> Public Sub tblTest_Arrange()
>> >>
>> >> With tblTest
>> >> .Columns[0].Width = 0
>> >> '.Columns[1].Width = 150
>> >> .Columns[1].Expand = True
>> >> .Columns[2].Width = 50
>> >> End With
>> >>
>> >> End
>> >>
>> >> Regards
>> >> Denis
>> >
>> > ----[ Gambas mailing-list is hosted by https://www.hostsharing.net
>> ]----
>>
>> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]----
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.gambas-basic.org/pipermail/user/attachments/20190203/885214c3/attachment-0001.html>
More information about the User
mailing list