我想给datagrid加一计算列hrq,用来存放:当前日期+2(2是指月份)的数值,请问如何在datagrid的属性生成器中增加,或其他办法.
解决方案 »
- 这样的正则表达式怎么写?
- 2个TEXTBOX,只要一个不为空就验证通过怎么做.
- 关于使用VS2005连接MicrosoftSQLServer数据库文件(SqlClient)相对路径的问题
- 一个关于脚本的问题:'imgInit' 未定义
- ============真是太奇怪了!请各位高手来看看!100分相送!
- 关于缓存
- ??? 编译器错误信息: CS0117: “object”并不包含对“SubString”的定义 ???
- Asp.net MVC 后台model接收参数
- 数据上传,比对重复
- 这可能是由于服务终结点绑定未使用 HTTP 协议造成的。这还可能是由于服务器中止了 HTTP 请求上下文(可能由于服务关闭)所致
- 数据检索出错
- gridView模板列中有一button,点击某一行的这个BUTTON时,怎么获取我点击的是第几行
{
if (e.Row.RowIndex >= 0)
{
ChargeMoney += Convert.ToDouble(e.Row.Cells[8].Text);
ShouldMoney += Convert.ToDouble(e.Row.Cells[12].Text);
TextBox txt = e.Row.FindControl("txtAdjustMoney") as TextBox;
Adjust += Convert.ToDouble(txt.Text);
AdjustMoney += Convert.ToDouble(e.Row.Cells[14].Text);
}
else if (e.Row.RowType == DataControlRowType.Footer)
{
e.Row.Cells[7].Text = "总计:";
e.Row.Cells[8].Text = ChargeMoney.ToString();
e.Row.Cells[12].Text = ShouldMoney.ToString();
e.Row.Cells[13].Text = Adjust.ToString();
e.Row.Cells[14].Text = AdjustMoney.ToString(); }
}
con.Open();
SqlDataAdapter sda = new SqlDataAdapter();
string sql = string.Format("select bill.bill_autoid,bill.bill_hiddentel,bill.bill_no,bill.bill_money,diary_air.place_time,diary_air.place_name,count(diary_air.bill_autoid) as 'aa' from bill,diary_air where bill.bill_hiddentel like '114%' and bill.bill_autoid=diary_air.bill_autoid and diary_air.place_time between '" + aa + "' and '" + dd + "' and diary_air.explanatory='新预订单'group by bill.bill_no,bill.bill_hiddentel,bill.bill_money,diary_air.place_time,diary_air.place_name,bill.bill_autoid");
sda.SelectCommand = new SqlCommand(sql, con);
DataSet ds = new DataSet();
DataTable dt_price = new DataTable();
sda.Fill(ds, "per");
dt_price = ds.Tables[0];
SqlCommand cmd1 = new SqlCommand("select sum(bill_money) from tj114 where place_time between '" + aa + "' and '" + dd + "'", con);
int sum = Convert.ToInt32(cmd1.ExecuteScalar());
DataRow row = dt_price.NewRow();
row["bill_money"] = sum;
this.hjje.Text = Convert.ToString(sum);
SqlCommand cmd2 = new SqlCommand("select sum(aa) from tj114 where place_time between '" + aa + "' and '" + dd + "'", con);
int sum1 = Convert.ToInt32(cmd2.ExecuteScalar());
this.hjz.Text = Convert.ToString(sum1);
row["bill_hiddentel"] = "合计";
row["aa"] = sum1;
dt_price.Rows.Add(row);
this.DataGrid1.DataSource = dt_price;
this.DataGrid1.DataBind();
这是我写的.就是你想要的.呵呵.你看看.
=================================
这两个就是一个控件~~
一个只是在.NET2003,一个只是在2005里`~~
它们的使用方法还是一样的`~只是多了些属性而以~~
多看看MSDN吧~~
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemIndex>=0)
{
int order =e.Item.ItemIndex+1;
e.Item.Cells[0].Text=order.ToString(); this.sum+=Convert.ToInt32(e.Item.Cells[3].Text);
}
if(e.Item.ItemType==ListItemType.Footer)
{
e.Item.Cells[0].Text="总工资:";
e.Item.Cells[1].Text=this.sum.ToString();
e.Item.Cells[2].Text="平均工资:";
e.Item.Cells[3].Text=Convert.ToString(this.sum/this.DataGrid1.Items.Count);
}
}
把红色部分和其他部分根据需要更改一下就可以了。