用asp.net输出
------------------------------
第一 aaaa A 001
002 003
003
bbbb B 001
002
------------------------------
第二 aaa A1 001
002
bbb A2 111
222
333
------------------------------
这样的表格其中每列都是动态的,就好像是个树形滴结构,然后用table滴形式显示出来,第二列是根据第一列得出滴,第三列又是根据第二列得出滴,这样滴表格如何用response.write("<table>")滴方式打出来捏(因为偶一直用这样滴方式输出显示table,觉得比控件灵活),或者有米一个更好滴方法,可以很灵活滴显示出来捏,希望帅哥美女们帮帮忙哈,郁闷死咯!
------解决方案--------------------------------------------------------
可以动态改变数据集。另外可以用你那种方式,只要知道结构,有什么不可以构造出来的?不过那种方式维护起来比较麻烦
------解决方案--------------------------------------------------------
可以用DataList,在<headerTemplate>里写<table>,在<ItemTemplate>里写<tr><td></td></tr>,即表的内容,在<FooterTemplate>里写</table>就形成一个表格了。
------解决方案--------------------------------------------------------
我想我明白你的意思了,为什么不用TreeView控件呢,专门用来显示这种树形结构的数据的。
------解决方案--------------------------------------------------------
用递归做,我整过一个,不过是用Table控件做的,下面是代码
- C# code
private int totalLevel = 1; //最大产品树级数
private DataView dvstore; //表视图
private void DrawTheTable()
{
Tbl2.CssClass = "store";
TableRow tr = new TableRow();
tr.BackColor = Color.Gray;
tr.ForeColor = Color.White;
TableCell tc5 = new TableCell();
TableCell tc1 = new TableCell();
tc5.ColumnSpan = totalLevel;
tc5.Text = "产品类别";
tc5.Width = 100 * totalLevel;
tc1.Text = "产品编号";
tr.Cells.Add(tc5);
tr.Cells.Add(tc1);
Tbl2.Rows.Add(tr);
DrawTheTableRows(dvstore, "0", 0, new TableRow());
}
private void DrawTheTableRows(DataView dv, string parentNo, int level, TableRow tr)
{
dv.Sort = "ParentNo";
DataRowView[] drvs = dv.FindRows(parentNo);
if (drvs.Length > 0)
{
for (int i = 0; i < drvs.Length; i++)
{
TableRow tbr;
if (i != 0)
{
tbr = new TableRow();
}
else
{
tbr = tr;
}
//判断是不是组,需要你自己做算法,比如可以用FindRows方法查看parentno是这个id的记录是是否大于1
if (Convert.ToBoolean(drvs[i]["IsGroup"].ToString()))
{
TableCell tc = new TableCell();
tc.BackColor = GetColor(level);