What if <itemtemplate> does correlate to 1 row in dataset?

Discussion in 'ASP .Net' started by Ben Becker, Apr 28, 2004.

  1. Ben Becker

    Ben Becker Guest

    I am trying to build a custom crosstab type of grid where I take some items
    in a data grid and based on the content of the current item compared to the
    previous item, determine if a new row in a table should be created or not.
    In order to do this, I need to have full control over the conditional logic
    for how items get displayed within a repeater element which I'm not seeing
    as possible.

    How can I cursor through a data set, apply conditional logic to it as I do
    to customize how it is outputed to the screen? The repeater, datagrid and
    data list seem great if your query comes back in a table structure where
    each record correlates to an item, but if you have 10 records that relate to
    a single "item" then I'm lost on how to get it to look like 1 item.

    Thanks,
    Ben
    Ben Becker, Apr 28, 2004
    #1
    1. Advertising

  2. Ben Becker

    Jeff Guest

    You don't tell us if you're using ADO.NET - so I'll assume you are because
    that would make a lot of sense in .NET programming. If you're not using
    ADO.NET, then you should tell us what you are using...

    <<<How can I cursor through a data set, >>>
    You don't - at least not in the traditional sense of a "cursor" (MoveNext,
    MovePrior, Move N are just not part of the ADO.NET game). Rather the ADO.NET
    DataSet is comprised of a collection of DataRow objects - so you navigate
    through the collection just like you'd navigate any other collection.

    The Datagrid, datalist, and repeater are generally designed to be bound to
    something (e.g, DataTable) that pretty much already contains what needs to
    be presented in the UI. So, one of your options is this:
    1. Create a brand new and empty DataTable (or DataSet) in your code (create
    it out of thin air - this is not your grand father's ADO). Your complicated
    custom logic can add new DataRow objects as necessary. So, the sequence of
    events would be something like this: (1) you retrieve your initial DataSet
    ("uncross-tabbed" data) from your data source, and (2) run it through your
    custom logic - which (3) outputs a new DataSet/DataTable. You then (4) bind
    your repeater control (DataList, DataGrid, DataRepeater) to the output
    DataSet/DataTable.

    Jeff





    "Ben Becker" <> wrote in message
    news:...
    > I am trying to build a custom crosstab type of grid where I take some

    items
    > in a data grid and based on the content of the current item compared to

    the
    > previous item, determine if a new row in a table should be created or not.
    > In order to do this, I need to have full control over the conditional

    logic
    > for how items get displayed within a repeater element which I'm not seeing
    > as possible.
    >
    > How can I cursor through a data set, apply conditional logic to it as I do
    > to customize how it is outputed to the screen? The repeater, datagrid and
    > data list seem great if your query comes back in a table structure where
    > each record correlates to an item, but if you have 10 records that relate

    to
    > a single "item" then I'm lost on how to get it to look like 1 item.
    >
    > Thanks,
    > Ben
    >
    >
    >
    Jeff, Apr 28, 2004
    #2
    1. Advertising

  3. Ben Becker

    Ben Becker Guest

    Thank you for the reply. Yes, I am using ADO.NET and I think I understand
    what you are saying. The repeater wants it already formatted so if it
    isn't, I'll have to build a custom data set and then bind it to the repeater
    (or even the data grid for that matter since it should suffice).

    Thank you again for the quick reply!
    Ben

    "Jeff" <> wrote in message
    news:%...
    > You don't tell us if you're using ADO.NET - so I'll assume you are because
    > that would make a lot of sense in .NET programming. If you're not using
    > ADO.NET, then you should tell us what you are using...
    >
    > <<<How can I cursor through a data set, >>>
    > You don't - at least not in the traditional sense of a "cursor" (MoveNext,
    > MovePrior, Move N are just not part of the ADO.NET game). Rather the

    ADO.NET
    > DataSet is comprised of a collection of DataRow objects - so you navigate
    > through the collection just like you'd navigate any other collection.
    >
    > The Datagrid, datalist, and repeater are generally designed to be bound to
    > something (e.g, DataTable) that pretty much already contains what needs to
    > be presented in the UI. So, one of your options is this:
    > 1. Create a brand new and empty DataTable (or DataSet) in your code

    (create
    > it out of thin air - this is not your grand father's ADO). Your

    complicated
    > custom logic can add new DataRow objects as necessary. So, the sequence of
    > events would be something like this: (1) you retrieve your initial DataSet
    > ("uncross-tabbed" data) from your data source, and (2) run it through your
    > custom logic - which (3) outputs a new DataSet/DataTable. You then (4)

    bind
    > your repeater control (DataList, DataGrid, DataRepeater) to the output
    > DataSet/DataTable.
    >
    > Jeff
    >
    >
    >
    >
    >
    > "Ben Becker" <> wrote in message
    > news:...
    > > I am trying to build a custom crosstab type of grid where I take some

    > items
    > > in a data grid and based on the content of the current item compared to

    > the
    > > previous item, determine if a new row in a table should be created or

    not.
    > > In order to do this, I need to have full control over the conditional

    > logic
    > > for how items get displayed within a repeater element which I'm not

    seeing
    > > as possible.
    > >
    > > How can I cursor through a data set, apply conditional logic to it as I

    do
    > > to customize how it is outputed to the screen? The repeater, datagrid

    and
    > > data list seem great if your query comes back in a table structure where
    > > each record correlates to an item, but if you have 10 records that

    relate
    > to
    > > a single "item" then I'm lost on how to get it to look like 1 item.
    > >
    > > Thanks,
    > > Ben
    > >
    > >
    > >

    >
    >
    Ben Becker, Apr 28, 2004
    #3
  4. Ben Becker

    Jeff Guest

    <<<I'll have to build a custom data set and then bind it to the repeater
    > (or even the data grid for that matter since it should suffice)>>>


    Exactly. And I'll add that if the data is read-only (which cross-tab data
    inherently is), then you might want to use a Repeater or DataList control
    rather than a DataGrid - reason being that the DataGrid is not as
    light-weight as the Repeater or DataList, and you won't need all the
    features possible in the DataGrid. You bind to a DataList or Repeater just
    as you would a DataGrid.
    For assistance in chosing how to best display your cross-tab DataSet, check
    out the following link:
    http://msdn.microsoft.com/library/d...html/vbcondisplayinglistsusingwebcontrols.asp

    What you will most likely *not* be doing is programmatically adding a new
    row to the grid, and then assigning cell values (as was the case with some
    of the old COM grids in Windows Client applications (ah, those were the
    days!). In the new world you prepare your data in a clean DataSet or
    DataTable, behind the scenes, and then bind to whatever control will be
    displaying it.

    Good Luck.




    "Ben Becker" <> wrote in message
    news:...
    > Thank you for the reply. Yes, I am using ADO.NET and I think I understand
    > what you are saying. The repeater wants it already formatted so if it
    > isn't, I'll have to build a custom data set and then bind it to the

    repeater
    > (or even the data grid for that matter since it should suffice).
    >
    > Thank you again for the quick reply!
    > Ben
    >
    > "Jeff" <> wrote in message
    > news:%...
    > > You don't tell us if you're using ADO.NET - so I'll assume you are

    because
    > > that would make a lot of sense in .NET programming. If you're not using
    > > ADO.NET, then you should tell us what you are using...
    > >
    > > <<<How can I cursor through a data set, >>>
    > > You don't - at least not in the traditional sense of a "cursor"

    (MoveNext,
    > > MovePrior, Move N are just not part of the ADO.NET game). Rather the

    > ADO.NET
    > > DataSet is comprised of a collection of DataRow objects - so you

    navigate
    > > through the collection just like you'd navigate any other collection.
    > >
    > > The Datagrid, datalist, and repeater are generally designed to be bound

    to
    > > something (e.g, DataTable) that pretty much already contains what needs

    to
    > > be presented in the UI. So, one of your options is this:
    > > 1. Create a brand new and empty DataTable (or DataSet) in your code

    > (create
    > > it out of thin air - this is not your grand father's ADO). Your

    > complicated
    > > custom logic can add new DataRow objects as necessary. So, the sequence

    of
    > > events would be something like this: (1) you retrieve your initial

    DataSet
    > > ("uncross-tabbed" data) from your data source, and (2) run it through

    your
    > > custom logic - which (3) outputs a new DataSet/DataTable. You then (4)

    > bind
    > > your repeater control (DataList, DataGrid, DataRepeater) to the output
    > > DataSet/DataTable.
    > >
    > > Jeff
    > >
    > >
    > >
    > >
    > >
    > > "Ben Becker" <> wrote in message
    > > news:...
    > > > I am trying to build a custom crosstab type of grid where I take some

    > > items
    > > > in a data grid and based on the content of the current item compared

    to
    > > the
    > > > previous item, determine if a new row in a table should be created or

    > not.
    > > > In order to do this, I need to have full control over the conditional

    > > logic
    > > > for how items get displayed within a repeater element which I'm not

    > seeing
    > > > as possible.
    > > >
    > > > How can I cursor through a data set, apply conditional logic to it as

    I
    > do
    > > > to customize how it is outputed to the screen? The repeater, datagrid

    > and
    > > > data list seem great if your query comes back in a table structure

    where
    > > > each record correlates to an item, but if you have 10 records that

    > relate
    > > to
    > > > a single "item" then I'm lost on how to get it to look like 1 item.
    > > >
    > > > Thanks,
    > > > Ben
    > > >
    > > >
    > > >

    > >
    > >

    >
    >
    Jeff, Apr 28, 2004
    #4
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Bennett Haselton
    Replies:
    1
    Views:
    5,313
    Joe Fallon
    Sep 24, 2004
  2. Craig
    Replies:
    2
    Views:
    2,864
    =?Utf-8?B?QmlsbCBCb3Jn?=
    Nov 2, 2004
  3. Replies:
    2
    Views:
    336
    mlimber
    May 22, 2006
  4. IK

    How to find grid's row that matches row in dataset

    IK, Sep 15, 2003, in forum: ASP .Net Datagrid Control
    Replies:
    0
    Views:
    162
  5. Replies:
    0
    Views:
    100
Loading...

Share This Page