想实现:
  送鉴人名称 物品名称 送鉴时间 文物类 数量 级别 估价 备注    老张 卡卡  2005-6-7 0:00:00 文物商品 45 
     
   老张 破碗  2005-6-7 0:00:00 新工艺   56    小记                                 101  0
-------------------------------------------    
  送件人 111  2005-6-7 0:00:00 新工艺   5   
   
  送件人 222  2005-6-7 0:00:00 新工艺   5
  
  小记                                  10   0 
---------------------------------------------
   合计:                               111   0 1》送鉴人已经实现分组查询了,可是想加一个分组查询小记,怎么才能在datalist里显示
或者repeater里实现双分组查询??!!急!
2》还有怎么把分组重的名字消去??

解决方案 »

  1.   

    用控件,好像不容易实现。我觉得用打印Table 的方法容易一些。
      

  2.   

    //MergeHTMLTable.cs
    using System;
    using System.Drawing;
    using System.ComponentModel;
    using System.ComponentModel.Design;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.Resources;
    using System.Reflection;
    using WebCustomLib.Components.Designer;namespace WebCustomLib.Components
    {
    [
    Designer(typeof(MergeHTMLTableDesigner)),
    ToolboxBitmap(typeof(MergeHTMLTable),"MergeHTMLTable.MergeHTMLTable.ico"),
    ToolboxItemFilter("System.Web.UI",ToolboxItemFilterType.Require)
    ]
    public class MergeHTMLTable : Component
    {
    private Page _page;
    private string _script; [Browsable(false),DefaultValue(null)]
    public Page _Page
    {
    get
    {
    return _page;
    }
    set
    {
    _page = value;
    if(_page != null)
    {
    _page.PreRender += new EventHandler(HookedPagePreRender);
    }
    }
    } private void HookedPagePreRender(object sender,EventArgs args)
    {
    if(!_page.IsClientScriptBlockRegistered(this.GetHashCode().ToString()))
    {
    ResourceManager res = new ResourceManager("WebCustomCtlLib.MergeHTMLTable",Assembly.GetExecutingAssembly());
    _script = res.GetString("MergeFunction");
    _page.RegisterClientScriptBlock(this.GetHashCode().ToString(),_script);
    }
    } public void MergeTable(Control ctrl,int[] arrIndexCol,int[] arrMergeCol,bool blHasHeader,bool blHasFooter,bool blHasPageLine)
    {
    if(ctrl == null)
    {
    return;
    }
    if( (ctrl is DataGrid) || (ctrl is DataList) || (ctrl is Repeater) || (ctrl is HtmlTable) || (ctrl is Table) )
    {
    string arrindex = "";
    string arrmerge = "";
    for(int i=0;i<arrIndexCol.Length;i++)
    {
    arrindex += "," + arrIndexCol[i].ToString();
    }
    if(arrindex.Length > 0)
    {
    arrindex = arrindex.Substring(1,arrindex.Length-1);
    } for(int i=0;i<arrMergeCol.Length;i++)
    {
    arrmerge += "," + arrMergeCol[i].ToString();
    }
    if(arrmerge.Length > 0)
    {
    arrmerge = arrmerge.Substring(1,arrmerge.Length-1);
    }

    string script = "<SCRIPT LANGUAGE=\"JavaScript\">fcnColumnMerge('"+ctrl.UniqueID+"',["+arrindex+"],["+arrmerge+"],"+blHasHeader.ToString().ToLower()+","+blHasFooter.ToString().ToLower()+","+blHasPageLine.ToString().ToLower()+");</SCRIPT>";
    _page.RegisterStartupScript("MergeTable",script);
    }
    else
    {
    _page.RegisterStartupScript("Message","<SCRIPT LANGUAGE=\"JavaScript\">alert('您指定的控件不支持表格合并功能!');</SCRIPT>");
    return;
    }
    }
    }
    }
      

  3.   

    //MergeHTMLTableDesigner.cs
    using System;
    using System.Drawing;
    using System.ComponentModel;
    using System.ComponentModel.Design;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;namespace WebCustomLib.Components.Designer
    {
    public class MergeHTMLTableDesigner : ComponentDesigner
    {
    public override void Initialize(IComponent component)
    {
    IContainer container = component.Site.Container;
    foreach( IComponent comp in container.Components )
    {
    if(comp is Page)
    {
    ((MergeHTMLTable)component)._Page = (Page)comp;
    }
    }
    base.Initialize (component);
    }
    }
    }
      

  4.   

    distinct不就是用来去除重复数据的
      

  5.   

    直接在SQL语句里面写不就可以了。可以这么写:"Select distinct column1 from TableName"(去除重复的)也可以直接用"Select  column1 from TableName Group By column1"(分组显示)
      

  6.   

    最笨的方法,直接拼html返回到客户端while (datareader.read())
    {
       if (new user)
        ...........显示上一个用户的小结
       else
        ...........现是现用户的明显数据
    }
      

  7.   

    我也是菜鸟,怎摸看是新用户?才表里跟剧什么判断用户换了,
    还有怎么计算小记,sum(??)我只会写这个字段的总合,页面太多了,最好能有好的方法,不要用html