Calculated Fields in Strongly Typed DataSets?

T

Tore

We have an XSD schema/object graph that for the most part reflects our
database. I'm running into an issue where this granularity doesn't always
match the need for using data from multiple datatables. For example, I have
a master datatable with several detail datatables, and I would like to
create (declare if I can) a "composite" containing column values from the
master, as well as columns from other datatables along with aggregate values
of data in yet other datatables.

In reality, this resulting data will be displayed in a grid (one column will
be updatable) and consurrently bound to other controls.

If I was writing stored procedures and handcoding every operation, this
would be quite straight forward, but I am trying to work with the object
graph/schema approach.

Is there a way to do this in the schema itself?

What would be the best way to achieve this? Would I need to create derived
DataViews and programmatically add expression columns? And would I have to
implement the "external" accesses in event handlers?

TIA,
Tore.
 
M

Miha Markic [MVP C#]

Though there is calculated field support built in DataTable (through
DataColumn.Expression) I would recommend to:
- add necessary column(s) do DataTable
- handle updating yourself (using RowChanged/ColumnChanged) events
 
T

Tore

I am aware of the Expression property, but I was trying to implement
something (declaratively) at the XSD schema level. Is this possible and if
so, how?

If not, I suppose my closest approach would be to add the columns to the
schema, and make them Expression columns in code before filling the dataset.

Why do you recommend against using the DataColumn.Expression approach?

Thanks,
Tore.

Miha Markic said:
Though there is calculated field support built in DataTable (through
DataColumn.Expression) I would recommend to:
- add necessary column(s) do DataTable
- handle updating yourself (using RowChanged/ColumnChanged) events

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

Tore said:
We have an XSD schema/object graph that for the most part reflects our
database. I'm running into an issue where this granularity doesn't always
match the need for using data from multiple datatables. For example, I
have
a master datatable with several detail datatables, and I would like to
create (declare if I can) a "composite" containing column values from the
master, as well as columns from other datatables along with aggregate
values
of data in yet other datatables.

In reality, this resulting data will be displayed in a grid (one column
will
be updatable) and consurrently bound to other controls.

If I was writing stored procedures and handcoding every operation, this
would be quite straight forward, but I am trying to work with the object
graph/schema approach.

Is there a way to do this in the schema itself?

What would be the best way to achieve this? Would I need to create
derived
DataViews and programmatically add expression columns? And would I have
to
implement the "external" accesses in event handlers?

TIA,
Tore.
 
T

Tore

Nevermind - I found it.

<xs:element name="ComputedData" type="xs:int" minOccurs="0" nillable="0"
msprop:nullValue="_null"
msdata:Expression="Count(Related.RelatedPKColumn)" />


Tore.

Tore said:
I am aware of the Expression property, but I was trying to implement
something (declaratively) at the XSD schema level. Is this possible and if
so, how?

If not, I suppose my closest approach would be to add the columns to the
schema, and make them Expression columns in code before filling the dataset.

Why do you recommend against using the DataColumn.Expression approach?

Thanks,
Tore.

Miha Markic said:
Though there is calculated field support built in DataTable (through
DataColumn.Expression) I would recommend to:
- add necessary column(s) do DataTable
- handle updating yourself (using RowChanged/ColumnChanged) events

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

Tore said:
We have an XSD schema/object graph that for the most part reflects our
database. I'm running into an issue where this granularity doesn't always
match the need for using data from multiple datatables. For example, I
have
a master datatable with several detail datatables, and I would like to
create (declare if I can) a "composite" containing column values from the
master, as well as columns from other datatables along with aggregate
values
of data in yet other datatables.

In reality, this resulting data will be displayed in a grid (one column
will
be updatable) and consurrently bound to other controls.

If I was writing stored procedures and handcoding every operation, this
would be quite straight forward, but I am trying to work with the object
graph/schema approach.

Is there a way to do this in the schema itself?

What would be the best way to achieve this? Would I need to create
derived
DataViews and programmatically add expression columns? And would I have
to
implement the "external" accesses in event handlers?

TIA,
Tore.
 
T

Tore

Nevermind - I found it.

<xs:element name="ComputedData" type="xs:int" minOccurs="0" nillable="0"
msprop:nullValue="_null"
msdata:Expression="Count(Related.RelatedPKColumn)" />


Tore.

Tore said:
I am aware of the Expression property, but I was trying to implement
something (declaratively) at the XSD schema level. Is this possible and if
so, how?

If not, I suppose my closest approach would be to add the columns to the
schema, and make them Expression columns in code before filling the dataset.

Why do you recommend against using the DataColumn.Expression approach?

Thanks,
Tore.

Miha Markic said:
Though there is calculated field support built in DataTable (through
DataColumn.Expression) I would recommend to:
- add necessary column(s) do DataTable
- handle updating yourself (using RowChanged/ColumnChanged) events

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

Tore said:
We have an XSD schema/object graph that for the most part reflects our
database. I'm running into an issue where this granularity doesn't always
match the need for using data from multiple datatables. For example, I
have
a master datatable with several detail datatables, and I would like to
create (declare if I can) a "composite" containing column values from the
master, as well as columns from other datatables along with aggregate
values
of data in yet other datatables.

In reality, this resulting data will be displayed in a grid (one column
will
be updatable) and consurrently bound to other controls.

If I was writing stored procedures and handcoding every operation, this
would be quite straight forward, but I am trying to work with the object
graph/schema approach.

Is there a way to do this in the schema itself?

What would be the best way to achieve this? Would I need to create
derived
DataViews and programmatically add expression columns? And would I have
to
implement the "external" accesses in event handlers?

TIA,
Tore.
 

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. After that, you can post your question and our members will help you out.

Ask a Question

Top