线体 机种名称 POL投入 COG压着 FPC压着 外观检查 人数 
早 中 晚 計 早 中 晚 計 早 中 晚 計 早 中 晚 計 早 中 晚  計 
6 LS022Q8UX07K 4800 0 0 4800 4264 0 0 4264 4086 0 0 4086 4769 0 0 4769 0 0 0 0 
 
6 合計 4800 0 0 4800 4264 0 0 4264 4086 0 0 4086 4769 0 0 4769 0 0 0 0 
 
7 LS022Q8UX07K 3955 0 0 3955 4300 0 0 4300 4616 0 0 4616 4371 0 0 4371 0 0 0 0 
 
7 合計 3955 0 0 3955 4300 0 0 4300 4616 0 0 4616 4371 0 0 4371 0 0 0 0 
 
 合計 11257 0 0 11257 11164 0 0 11164 11204 0 0 11204 11479 0 0 11479 0 0 0 0 
 
 以上是datalist显示表 怎样把合计那一行变成另外的颜色?
 

解决方案 »

  1.   

    你是说footer 的合计 还是 偶数项的合计
      

  2.   

    按照线体 和 机种两个字段啊   
     GROUP BY  Line,MODEL WITH ROLLUP
     UPDATE #TP3 SET MODEL = '合計' WHERE MODEL IS NULL
     UPDATE #TP3 SET MODEL = '合計' WHERE Line IS NULL AND MODEL IS NULL 
      

  3.   

     我用的是存储过程   输入查询的日期就可以了  例如:EXEC QTY '2009-08-06'
    在代码里就是 Sda.SelectCommand.CommandText = "QTY";
            Sda.SelectCommand.CommandType = CommandType.StoredProcedure;
            Sda.SelectCommand.Parameters.Add(new SqlParameter("@FDATE", SqlDbType.DateTime)).Value = quaryDate;
      

  4.   

    合计不是字段  它在 model那列 例如
     线体   机种名称            POL投入 COG压着 FPC压着 外观检查 人数 
                                早 中 晚 計 早 中 晚 計 早 中 晚 計 早 中 晚 計 早 中 晚  計 
      6    LS022Q8UX07K      800 0 0 4800 4264 0 0 4264 4086 0 0 4086 4769 0 0 4769   6      合計              4800 0 0 4800 4264 0 0 4264 4086 0 0 4086 4769 0 0 4769  
      

  5.   


    protected void DataList_ItemDataBound(object sender, DataListItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
            {
                DataRowView drv = e.Item.DataItem as DataRowView;
                if (drv != null)
                {
                    e.Item.BackColor = drv["机种名称"].ToString() == "合计" ? System.Drawing.Color.Red : System.Drawing.Color.White;
                    //e.Item.BackColor = drv["model"].ToString() == "合计" ? System.Drawing.Color.Red : System.Drawing.Color.White;
                }
            }
        }
      

  6.   

    那一列不是 机种名称 或 model 么?在数据库中查询出的结果集 是什么样的?
      

  7.   

    line    model          ....
    2 LS030B3UX02 0 10 0 10 0 10 0 10 0 10 0 10 0 11 0 11 0 20 0 20
    2 合計 0 10 0 10 0 10 0 10 0 10 0 10 0 11 0 11 0 20 0 20
    NULL 合計 10 10 0 20 10 10 0 20 10 10 0 20 11 11 0 22 20 20 0 40
      

  8.   

    line    model          .... 
    2       LS030B3UX02     0 10 0 10 0 10 0 10 0 10 0 10 0 11 0 11 0 20 0 20 
    2        合計             0 10 0 10 0 10 0 10 0 10 0 10 0 11 0 11 0 20 0 20 
    NULL     合計              10 10 0 20 10 10 0 20 10 10 0 20 11 11 0 22 20 20 0 40
      

  9.   

    在datalist的FooterTemplate里添加控件,通过查询设置颜色和统计值
      

  10.   

    ...你仔细看下我在 14 楼的代码
    e.Item.BackColor = drv["机种名称"].ToString() == "合计" ? System.Drawing.Color.Red : System.Drawing.Color.White;
    //e.Item.BackColor = drv["model"].ToString() == "合计" ? System.Drawing.Color.Red : System.Drawing.Color.White;            
    e.Item.BackColor = drv["model"].ToString() == "合计" ? System.Drawing.Color.Red : System.Drawing.Color.White;    
    我当时不知道 你的列叫什么名字 所以两个都写了,你使用 标红的 就应该可以的
        
      

  11.   

    我都试过了 可是还是不行  我把c#部分代码 发给你看 你觉得这段代码应该放哪里protected void btnExec_Click(object sender, System.EventArgs e)
        {
            dataListBound(txtDateStart.Text.Trim());
           
        }
        // 繫結資料庫
        private void dataListBound(string quaryDate)
        {
            Sda.SelectCommand = new SqlCommand();
            Sda.SelectCommand.Connection = conn;
            Sda.SelectCommand.CommandText = "qq";
            Sda.SelectCommand.CommandType = CommandType.StoredProcedure;
            Sda.SelectCommand.Parameters.Add(new SqlParameter("@FDATE", SqlDbType.DateTime)).Value = quaryDate;
            Sda.Fill(Ds, "qq");
            DataTable newTb = new DataTable();
            newTb = Ds.Tables["qq"].Clone();        for (int i = 0; i < newTb.Columns.Count; i++)
            {
                newTb.Columns[i].DataType = System.Type.GetType("System.String");
            }
                    for (int i = 0; i < Ds.Tables["qq"].Rows.Count; i++)
            {
                DataRow newDatarow = newTb.NewRow();            for (int j = 0; j < Ds.Tables["qq"].Columns.Count; j++)
                { 
                                   if (Ds.Tables["qq"].Columns[j].ColumnName.ToUpper() =="A001"||Ds.Tables["qq"].Columns[j].ColumnName.ToUpper() =="A002")
                        newDatarow[j] = Ds.Tables["qq"].Rows[i][j].ToString()+"%";
                    else
                        newDatarow[j] = Ds.Tables["qq"].Rows[i][j].ToString();            }
                newTb.Rows.Add(newDatarow);        }
            
            if (Ds.Tables["qq"].Rows.Count > 0)
            {            DataList1.DataSource = newTb.DefaultView;
                DataList1.DataBind();        }
            
        }
      

  12.   

    DataList 的 ItemDataBound 事件中又或者 放在
    if (Ds.Tables["qq"].Rows.Count > 0)
            {            DataList1.DataSource = newTb.DefaultView;
                DataList1.DataBind();        } 之后,但是写法要换一下for(int i=0;i<DataList1.Items.Count;i++)
    {
        DataRowView drv = DataList1.Items[i].DataItem as DataRowView;
                if (drv != null)
                {
                    DataList1.Items[i].BackColor = drv["model"].ToString() == "合计" ? System.Drawing.Color.Red : System.Drawing.Color.White;                
                }}
      

  13.   

    没任何反应, what's wrong? 晕了 
      

  14.   


    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <asp:DataList ID="dlOne" runat="server" OnItemDataBound="dlOne_ItemDataBound">
        <AlternatingItemTemplate>
            Name:<%#Eval("Name")%> Money:<%#Eval("Money")%>
        </AlternatingItemTemplate>
        <ItemTemplate>
            Name:<%#Eval("Name")%> Money:<%#Eval("Money")%>
        </ItemTemplate>
        </asp:DataList>    
        </form>
    </body>
    </html>
    private DataTable getDateTable()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("Name", typeof(String)));
            dt.Columns.Add(new DataColumn("Money", typeof(Int32)));
            DataRow dr;
            dr = dt.NewRow();
            dr[0] = "岗位工资";
            dr[1] = 100;
            dt.Rows.Add(dr);
            dr = dt.NewRow();
            dr[0] = "养老";
            dr[1] = 200;
            dt.Rows.Add(dr);
            dr = dt.NewRow();
            dr[0] = "午餐";
            dr[1] = 300;
            dt.Rows.Add(dr);        return dt;
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                dlOne.DataSource = getDateTable();
                dlOne.DataBind();            
            }
        }
        protected void dlOne_ItemDataBound(object sender, DataListItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
            {
                DataRowView drv = e.Item.DataItem as DataRowView;
                if (drv != null)
                {
                    e.Item.BackColor = drv["Name"].ToString() == "岗位工资" ? System.Drawing.Color.Red : System.Drawing.Color.White;                
                }        }
        }
      

  15.   

    错误 8 “ASP.dalqty_aspx”并不包含“DataList1_ItemDataBound”的定义
    什么意思?
      

  16.   

    asp:DataList ID="DataList1" runat="server" BackColor="White" BorderColor="#4A3C8C"
                BorderStyle="None" BorderWidth="1px" CellPadding="0" CellSpacing="0" EnableViewState="False"
                GridLines="Vertical" ShowFooter="False" Width="980px" OnItemDataBound="DataList1_ItemDataBound"
      

  17.   

     dlOne_ItemDataBound  => DataList1_ItemDataBound
    protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
            {
                DataRowView drv = e.Item.DataItem as DataRowView;
                if (drv != null)
                {
                    e.Item.BackColor = drv["Name"].ToString() == "岗位工资" ? System.Drawing.Color.Red : System.Drawing.Color.White;                
                }        }
        }
      

  18.   

    protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
            {
                DataRowView drv = e.Item.DataItem as DataRowView;
                if (drv != null)
                {
                    e.Item.BackColor = drv["model"].ToString() == "合计" ? System.Drawing.Color.Red : System.Drawing.Color.White;
                    //e.Item.BackColor = drv["model"].ToString() == "合计" ? System.Drawing.Color.Red : System.Drawing.Color.White;
                }
            }我已经写了 还是出错怎么办???
      

  19.   

    还是显示:错误 8 “ASP.dalqty_aspx”并不包含“DataList1_ItemDataBound”的定义 
    什么意思? 
      

  20.   

    你给 DataList1 手动添加事件就是 属性-》事件