前台的GridView情况: <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
                    onrowcreated="GridView1_RowCreated" onrowdatabound="GridView1_RowDataBound">                    <Columns>
                        <asp:BoundField DataField="siteId" HeaderText="站点ID" />
                        <asp:BoundField DataField="logValueTypeName" HeaderText="能源类型" />
                        <asp:TemplateField HeaderText="总值">
                            <ItemTemplate>
                                <asp:LinkButton ID="LinkButton1" runat="server">LinkButton </asp:LinkButton>
                            </ItemTemplate>
                        </asp:TemplateField>
                    </Columns>
                </asp:GridView>后台load事件内是一个汇总分组然后加载到GridView中:protected void Page_Load(object sender, EventArgs e)
    {
        System.Data.DataTable dt = new System.Data.DataTable();
        DataSet dsData = null;        SqlConnection connection = new SqlConnection(conString);
        connection.Open();        //查询今天记录
        string siteIdsql = "select A.siteId,B.logValueTypeName,sum(logValue) as SumLogValue from EnergyTB AS A INNER JOIN LogType AS B on A.logValueType= B.logValueType where siteId=" + siteId + "group by A.siteId,A.logValueType,B.logValueTypeName";
        SqlCommand cmd = new SqlCommand(siteIdsql, connection);        SqlDataAdapter daAdapter = new SqlDataAdapter();
        daAdapter.SelectCommand = cmd;
        dsData = new DataSet();
        daAdapter.Fill(dsData);        connection.Close();        dt = dsData.Tables[0];
        GridView1.DataSource = dt;
        GridView1.DataBind();
    }现在界面上显示的是:站点ID             能源类型            总值
        1                   电压          linkButton
        1                   煤气          linkButton
        1                   水能          linkButton我现在定义三个变量  int a =1;  int b =2;  int c =3;
 我想做的是将这三个变量加载到上面三个linkButton中。
 页面加载时,想看到的效果是—>站点ID             能源类型            总值
        1                   电压                1
        1                   煤气                2 
        1                   水能                3这个功能应该如何实现?希望高手指点。
万分感激!!!!!

解决方案 »

  1.   

    一个简单的办法是 为 现有的  DataTable  追加一列这一列的值 就是 你三次汇总求得的
    你这里的三次 是固定三次,还是 根据行数变化的
      

  2.   

    在可能的情况下直接使用 sql 汇总
      

  3.   

    gridview 72绝技
    http://blog.csdn.net/21aspnet/archive/2007/03/25/1540301.aspx
      

  4.   

    最好是根据行数变化了  前两个列可能会增加 第三列的linkbutton也随着自动增加吧应该
      

  5.   

    就是load事件里面查询出来的那三个数,就是本应该显示的那三个数
      

  6.   

    比如我取第一个数      string gassql = "SELECT sum(logValue) From EnergyTB where siteId=" + siteId + "and logValueType =" + 1;
            SqlCommand cmd = new SqlCommand(gassql, connection);
            object obj = cmd.ExecuteScalar();第二个数      string gassql = "SELECT sum(logValue) From EnergyTB where siteId=" + siteId + "and logValueType =" + 2;
            SqlCommand cmd = new SqlCommand(gassql, connection);
            object obj = cmd.ExecuteScalar();第三个数      string gassql = "SELECT sum(logValue) From EnergyTB where siteId=" + siteId + "and logValueType =" + 3;
            SqlCommand cmd = new SqlCommand(gassql, connection);
            object obj = cmd.ExecuteScalar();就是将load事件里面的分成三份
      

  7.   

    <asp:LinkButton ID="LinkButton1" runat="server">LinkButton </asp:LinkButton>=><asp:LinkButton ID="LinkButton1" runat="server" Text='<%# Eval("SumLogValue")%>'></asp:LinkButton>
      

  8.   

    呵呵,我也是12楼阿非的方法显示LinkButton的时候单独调用方法绑值