By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,263 Members | 1,647 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 446,263 IT Pros & Developers. It's quick & easy.

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

P: n/a
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

Nov 18 '05 #1
Share this Question
Share on Google+
3 Replies


P: n/a
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" <be*@benbecker.net> wrote in message
news:uZ**************@TK2MSFTNGP10.phx.gbl...
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

Nov 18 '05 #2

P: n/a
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" <A@B.com> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
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" <be*@benbecker.net> wrote in message
news:uZ**************@TK2MSFTNGP10.phx.gbl...
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


Nov 18 '05 #3

P: n/a
<<<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/de...ebcontrols.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" <be*@benbecker.net> wrote in message
news:OJ**************@TK2MSFTNGP12.phx.gbl... 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" <A@B.com> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
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" <be*@benbecker.net> wrote in message
news:uZ**************@TK2MSFTNGP10.phx.gbl...
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



Nov 18 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.