469,883 Members | 1,135 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,883 developers. It's quick & easy.

subset of data using dataview??

Dear sir,

New to ASP.NET, help will be appreciated.

I need to create a XML file for product feed. In our business, one product
always belongs to more than 1 categories. I need to have a XML file like.
<product id = "105">
<Name>whatever</Name>
<Categories>
<Category name = "Category1"/>
<Category name = "Category2"/>
.....
</Categories>
</product>

I can use a dataset which get the data from product table. However, my
question is that how can I get a sub set data of category. The category
rows varies depends on the product id. I am thinking to use dataview filter.
The following is my code.
.......
dvCategory = New DataView(dtCategory)
strView = "ProductId='"&r("ProductId")&"'"
dvCategory.RowFilter= strView
For Each rCat in dvCategory.Table.Rows
Writer.WriteStartElement("category")
Writer.WriteAttributeString("name",
rCat("CatName")&r("ProductId"))
Writer.WriteEndElement()
Next
....

It will write out all the categories instead of only those categories this
product belongs to. Any idea what did I do wrong or how can I achieve this??

Thanks in advanced.

Guoqi Zheng
Tel: 0031-23-5343545
http://www.meetholland.com
Nov 18 '05 #1
2 1386
This is because you are still grabbing all the rows from the underlying
table. The underlying table never changes, but the dataview can filter which
rows you see.

You should be looking at the Item property of the DataView to get each row
as filtered from the dataview instead.

"Guoqi Zheng" <no@sorry.com> wrote in message
news:ul**************@TK2MSFTNGP12.phx.gbl...
Dear sir,

New to ASP.NET, help will be appreciated.

I need to create a XML file for product feed. In our business, one product
always belongs to more than 1 categories. I need to have a XML file like.
<product id = "105">
<Name>whatever</Name>
<Categories>
<Category name = "Category1"/>
<Category name = "Category2"/>
.....
</Categories>
</product>

I can use a dataset which get the data from product table. However, my
question is that how can I get a sub set data of category. The category
rows varies depends on the product id. I am thinking to use dataview filter. The following is my code.
.......
dvCategory = New DataView(dtCategory)
strView = "ProductId='"&r("ProductId")&"'"
dvCategory.RowFilter= strView
For Each rCat in dvCategory.Table.Rows
Writer.WriteStartElement("category")
Writer.WriteAttributeString("name",
rCat("CatName")&r("ProductId"))
Writer.WriteEndElement()
Next
....

It will write out all the categories instead of only those categories this
product belongs to. Any idea what did I do wrong or how can I achieve this??
Thanks in advanced.

Guoqi Zheng
Tel: 0031-23-5343545
http://www.meetholland.com

Nov 18 '05 #2
Hi,

For Each rCat in dvCategory.Table.Rows
Writer.WriteStartElement("category")
Writer.WriteAttributeString("name",
rCat("CatName")&r("ProductId"))
Writer.WriteEndElement()
Next
....

It will write out all the categories instead of only those categories this
product belongs to. Any idea what did I do wrong or how can I achieve

this??

You should loop through DataView' DataRowView:
foreach (DataRowView drv in dv)

Write...(drv["name"]);
--
Miha Markic - RightHand .NET consulting & software development
miha at rthand com
www.rthand.com
Nov 18 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

6 posts views Thread by Patrick.O.Ige | last post: by
reply views Thread by MichaƂ Januszczyk | last post: by
18 posts views Thread by Brock | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.