3

我在 asp.net C# 中工作,我很难弄清楚如何解决问题。我有一个包含公司信息的数据库。我想通过以下方式将其发布在网站上:


国家的名字


(如果同一个国家有不止一家公司,则一排显示2套)

公司名称: 标签------------------------------------------------公司名称: 标签

地址:标签-----------------------------------------------地址: 标签



国家的名字


公司名称: 标签

地址: 标签


ETC...

所以为了解决这个问题,我开始使用:

 DataGrid1.DataSource = Database.QueryTable(string.Format("select * from (myTable) group by country"));
 DataGrid1.DataBind();



protected void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e) {

if (e.Item.ItemType != ListItemType.AlternatingItem && e.Item.ItemType != ListItemType.Item)
return;

DataRowView drItem   = (DataRowView)e.Item.DataItem;
int countryId        = Convert.ToInt32(drItem[Common.Data.Reseller.Constants.countryid]);
Label lblAddress     = (Label)e.Item.FindControl("lblAddress");
Label lblComanyName  = (Label)e.Item.FindControl("lblComanyName");
Label lblCountryName = (Label)e.Item.FindControl("lblCountryName");
DataRow drCountry    = Database.QueryRow(Common.Data.Country.Get.CountryByID(countryId));

DataTable dt = Database.QueryTable(string.Format("select * from (myTable) order by countryid"));

lblCountryName.Text = drCountry[Common.Data.Country.Constants.countryName].ToString(); 
foreach (DataRow dr in dt.Rows) {
  if (Convert.ToInt32(dr[Common.Data.Reseller.Constants.countryid]).Equals(countryId)) {

等等......我在这个“if”语句中列出了所有信息。

所以我希望对某人来说很明显这并没有得到我想要的结果。在做了一些研究之后,我对如何继续感到困惑。我是否使用嵌套的 gridViews 或中继器,或者我应该在这里考虑其他什么。我只是希望指出正确的方向,以便我知道我应该研究什么。

4

1 回答 1

0

我认为您应该为此使用嵌套的 ListView。我有同样的问题,我试图做这样的事情:

在此处输入图像描述

两个盒子是活动,里面的线是参加的人。我知道它不在同一条线上,但你应该能够做到。我已经回答了一个问题,嵌套列表视图

希望这会对你有所帮助,vinc。

于 2013-05-16T20:00:47.540 回答