protected void Page_Load(object sender, EventArgs e)
    {
        if (!(Page.IsPostBack))
        {
            System.Data.DataTable dt = new System.Data.DataTable("dt_1");
            dt.Columns.Add("A");
            dt.Columns.Add("B");
            dt.Columns.Add("C");
            dt.Rows.Add(new string[] { "1", "2", "3" });
            dt.Rows.Add(new string[] { "4", "5", "6" });
            dt.Rows.Add(new string[] { "str7", "str8", "str9" });
            dt.Rows.Add(new string[] { "str10", "str11", "str12" });
            dt.Rows.Add(new string[] { "str13", "str14", "str15" });
            MyDataGrid.DataSource = dt;
            MyDataGrid.DataBind();
            Session["dt"] = dt;        }
    }
protected void Rec_ChangePage(Object sender, DataGridPageChangedEventArgs e)
{
  MyDataGrid.CurrentPageIndex = e.NewPageIndex;
  MyDataGrid.DataSource = Session["dt"];
  MyDataGrid.DataBind();
}

解决方案 »

  1.   

    为什么不 select a,b,c=a+b from tablename ? 非到前端吗?
      

  2.   

    select   a,b,c=a+b   from   tablename 不这样做是因为数据的量很大 不想全用sql来实现
      

  3.   

    SQL 还是不错的,如果可以实现的话。
      

  4.   

    for(int i=0;i<GridView1.Rows.count;i++)
    {
    ((Label)GridView1.Rows[i].FindControl("Label1")).Text=Convert.ToString( Convert.ToDecimal(GridView1.Rows[i].Cells[2].Text)+ Convert.ToDecimal(GridView1.Rows[i].Cells[3].Text));
    }如果以后两列的数据也在Label中,与前一列一样取出数据
      

  5.   

    this.Label1.Text = dsUpBill.Tables[0].Compute("sum(列名)", "").ToString();
      

  6.   


    <asp:Label ID="labelsum" runat="server" Text='<%# eq( Eval("a"),Eval("b")) %>'></asp:Label>

    public string sum(object a,object b)
        {
            int inta = Convert.ToInt32(a);
            int intb = Convert.ToInt32(b);
            return Convert.ToString(inta + intb);
        }
      

  7.   


    <asp:Label ID="labelsum" runat="server" Text='<%# sum( Eval("a"),Eval("b")) %>'></asp:Label>

    public string sum(object a,object b)
        {
            int inta = Convert.ToInt32(a);
            int intb = Convert.ToInt32(b);
            return Convert.ToString(inta + intb);
        }错了点
      

  8.   

                
                // bulid table
                DataTable table = new DataTable();
                table.TableName = "td";
                table.Columns.Add("1");
                table.Columns.Add("2");
                table.Columns.Add("3");
                table.Columns.Add("4");            Random ra = new Random();
                for (int i = 0; i <= 5; i++)
                {
                    DataRow row = table.NewRow();                row["1"] = ra.Next(0, 100).ToString();
                    row["2"] = ra.Next(100, 1000).ToString();
                    row["3"] = ra.Next(1000, 10000).ToString();
                    row["4"] = Convert.ToString(Convert.ToInt16(row["1"]) + Convert.ToInt16(row["2"])) // 你需要的列相加效果;
                    table.Rows.Add(row);
                }            // data bindings
                this.dataGridView1.DataSource = table;
                this.dataGridView1.Columns[0].DataPropertyName = "1";
                this.dataGridView1.Columns[1].DataPropertyName = "2";
      

  9.   

        protected void Grid_Send_ItemDataBound(object sender, ComponentArt.Web.UI.GridItemDataBoundEventArgs e)
        {
            if (ddl_difference.SelectedValue == "全部")
            {
                e.Item[6] = changeName(e.Item[9].ToString(), e.Item[10].ToString(), e.Item[11].ToString(), e.Item[12].ToString());
            }
                         if (e.Item[8].ToString() != "")
            {
               e.Item[14] = EnumHandle.GetDisplayName(typeof(ProcessFlagEnum), Convert.ToInt32(e.Item[8].ToString()));
            }
               }    private string changeName(string sysCodeAmount, string sysBalanceAmount, string inputCodeAmount, string inputBalanceAmount)
        {
            //接受发件人名称查询
            string retval = "";
            
           int a = Convert.ToInt32(sysCodeAmount);
           int b = Convert.ToInt32(sysBalanceAmount);
           int c = Convert.ToInt32(inputCodeAmount);
           int d = Convert.ToInt32(inputBalanceAmount);        if((a+b)-(c+d) < 0)
            {
                retval="有差异";
            }
            else
            {
                retval="无差异";
            }
            return retval;
        }看看 可能有启发