Advertisement

04.06.2008 at 07:19PM PDT, ID: 23300325
[x]
Attachment Details

how do I resize Gridview columns to keep data from wrapping programmatically?

Asked by bd9000 in Programming for ASP.NET, Microsoft Visual Basic.Net

Tags:

I'm having a hair puller with the GridView in ASP.Net (2.0) getting it to NOT wrap the data in the columns.
I set all the templates to WRAP=FALSE, with no effect in Internet Exploder 7.  FireFox does not wrap the text, so it works like it should.
I tried to access the data as it is being bound to the gridview (from a DataSet) and set the width dynamically depending on the data for each column.  This just generates an index out of range error on the Columns() property, no matter what the ordinal (I suppose the column(s) in the GridView could not be accessed by ordinal because it hadn't been created yet - a Catch-22).

The example below should determine the width of the data in characters, determine the pixels needed, and turn off wrapping (i borrowed this from MS KB, but it won't work).
Any ideas on how to make this work? Start Free Trial
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
Protected widestdata As Integer = 0
 
Protected Sub gvSpreadSheetRawData_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvSpreadSheetRawData.RowDataBound
        If e.Row.RowType = DataControlRowType.DataRow Then  
            Dim drv As DataRowView = DirectCast(e.Row.DataItem, DataRowView)
            Dim cc As Integer = e.Row.Cells.Count
            For x As Int16 = 0 To cc - 1
                Dim itemlen As Integer = drv.Item(x).ToString.Length
                   If itemlen > widestdata Then
                        widestdata = itemlen
                        Me.gvSpreadSheetRawData.Columns(x).ItemStyle.Width = widestdata * 25
                        Me.gvSpreadSheetRawData.Columns(x).ItemStyle.Wrap = False
                    End If
            Next
        End If
    End Sub
[+][-]04.06.2008 at 07:45PM PDT, ID: 21294065

At Experts Exchange, members can ask their questions to thousands of technology professionals, also known as Experts. Experts compete and collaborate to answer those questions by leaving comments like this one.

Start your 7-day free trial to view this Expert Comment or ask the Experts your question.

 
[+][-]04.06.2008 at 07:49PM PDT, ID: 21294076

At Experts Exchange, members can ask their questions to thousands of technology professionals, also known as Experts. Experts compete and collaborate to answer those questions by leaving comments like this one.

Start your 7-day free trial to view this Expert Comment or ask the Experts your question.

 
[+][-]04.06.2008 at 09:45PM PDT, ID: 21294388

View this solution now by starting your 7-day free trial. Setting up your free trial is quick, easy, and secure. We will return you to this solution, unlocked, when you're done.

 

About this solution

Zones: Programming for ASP.NET, Microsoft Visual Basic.Net
Tags: ASP.NET 2.0 VB.NET
Sign Up Now!
Solution Provided By: PaulsonGeorge
Participating Experts: 2
Solution Grade: A
 
 
[+][-]04.07.2008 at 04:57AM PDT, ID: 21295942

Often, when Experts are collaborating with members who have asked questions, they will request additional information about the problem. Askers respond with an author comment like this one.

Start your 7-day free trial to view this Author Comment or ask the Experts your question.

 
[+][-]04.07.2008 at 05:24AM PDT, ID: 21296103

Often, when Experts are collaborating with members who have asked questions, they will request additional information about the problem. Askers respond with an author comment like this one.

Start your 7-day free trial to view this Author Comment or ask the Experts your question.

 
 
Loading Advertisement...
20080716-EE-VQP-32 / EE_QW_2_20070628