我在asp.net C#工作,我很难搞清楚如何解决问题。我有一个包含公司信息的数据库。我想以下列方式在网站上发布此内容:
国家/地区名称
(如果同一国家/地区有多家公司,则一行显示2套)
公司名称:标签------------------------------------ - 公司名称:标签
地址:标签------------------------------------- ---------- 地址:标签
国家/地区名称
公司名称:标签
地址:标签
等...
所以为了解决这个问题,我开始使用:
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或转发器,或者我还应该考虑其他的东西。我只是希望能指出正确的方向,以便我知道我应该研究什么。
答案 0 :(得分:0)
我认为你应该使用嵌套的ListView。我有同样的问题,我试图做那样的事情:
两个框是事件,里面的行是参与的人。我知道它不在同一条线上,但你应该能够做到。我已经回答了一个问题Nested listview。
希望这会对你有所帮助,vinc。