我想在gridview中使用这样的数据:
CategoryName Subcategory Name
--------------------------------
Abc Abc1,abc2,abc3
Bcs Bcs1,bcs2
def Null / No Record
我该怎么做?
好吧我想通过使用单个表来从数据库中获取数据。我有一个表类别,其中我有类似Categryid,parentid,名称的字段。当parentid为0时,它的类别为其他所有其他是subCategories。
我正在使用带有c#的asp.net,我想在gridview中使用boundfield。对于我已经完成的类别,但对于子类别,我不知道该怎么做。
子类别由其parentid识别。在子类别中parentid = categryid
答案 0 :(得分:0)
假设你的表中的数据是这样的
的CategoryId | PARENTID |名称| 1 | 0 | A |, 2 | 1 | B |, 3 | 0 | C |, 4 | 3 | D |
您可以执行类似
的操作Create Table #ReportTable(Id identity int,CategoryId int,Category varchar(10),SubCategory Varchar(10))
Declare @CountOfRecords int = Select count(categoryid) from categories
Declare @TableIterator int = 1
While @TableIterator <= @CountOfRecords
Begin
Declare @ParentId int = (Select ParentId From Categories Where CategoryId=@TableIterator)
If @ParentId = 0
Begin
Insert Into #ReportTable(CategoryId,Category)
Select CategoryId,Category
From Categories
Where CategoryId = @TableIterator
End
Else
Begin
Update #ReportTable
Set SubCategory =
(Select SubCategory From Categories Where CategoryId = @TableIterator)
And Id = @ParentId
End
Set @TableIterator = @TableIterator + 1
End