Datagrid table cells and rows -- Changing width

Discussion in 'ASP .Net' started by martin, Jun 9, 2004.

  1. martin

    martin Guest

    Hi,

    I have a datagrid that contains 3 colums. This is rendered to the page fine,
    except that I would like to be able to control the width of each table cell
    of the datagrid
    I have the following code in the "ItemDataBound" -- which I belive should
    allow me to alter the width of the cells, however it does not work.

    Dim unitWidth As Unit
    unitWidth.Percentage(10)
    e.Item.Cells(0).Width = unitWidth
    unitWidth.Percentage(80)
    e.Item.Cells(1).Width = unitWidth
    unitWidth.Percentage(10)
    e.Item.Cells(2).Width = unitWidth
    Response.Write("dgSurveyDates_ItemDataBound<br>")


    After this I tried placing the width attribute into the HTML of the
    datagrid, however that gave a runtime error.

    can anybody explain how to do this please.. I would also like to add client
    side events such as "onmouseover" to the <tr> tag of each row, but I can't
    seem to be able to do this either..

    any help or advice would be appreciated.

    thanks in advance.

    martin.
     
    martin, Jun 9, 2004
    #1
    1. Advertisements

  2. Martin,

    You don't have full control over column width. The browser considers your
    width instructions as recommendations. You can trick it a bit though. One of
    the tricks I am using is setting the width to 1px for a column that I want
    to be as narrow as possible. Then the browser will set the width of this
    column to the width of the longest word. You can use non-breaking spaces to
    join several words into one.

    Setting cell width for every row separately, as in your example, doesn't
    make much sence since all cells in one column have to have the same width.

    The following C# code adds onmouseover event to the row:
    e.Item.Attributes["onmouseover"] = "return myEventHandler(this)";

    Eliyahu
     
    Eliyahu Goldin, Jun 9, 2004
    #2
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.