DataGridView中部分行排序的问题 DataGridView1中的数据源是由两部分组成的:记录列表+合计;;现在,点击DataGridView1标题列,排序,要只排记录列表,合计行仍然在最后一行 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 本帖最后由 bdmh 于 2012-07-05 16:28:27 编辑 合计行可以放在列表外面用lable显示 现在就是要把合计显示在DataGridView1的最后行,不能用lable显示 合计行可以放在列表外面用lable显示 是这样解决的(参考别人的): public partial class Form1 : Form { DataTable dt = new DataTable(); public Form1() { InitializeComponent(); dt.Columns.Add("id"); dt.Columns.Add("code"); dt.Columns.Add("name"); dt.Columns.Add("re"); dt.Columns.Add("autoid"); for (int i = 0; i < 10; i++) { dt.Rows.Add(dt.NewRow()); dt.Rows[dt.Rows.Count - 1]["id"] = (10 + i).ToString(); dt.Rows[dt.Rows.Count - 1]["code"] = (100- i).ToString(); dt.Rows[dt.Rows.Count - 1]["name"] = "dd"; dt.Rows[dt.Rows.Count - 1]["re"] = "gg"+i.ToString(); dt.Rows[dt.Rows.Count - 1]["autoid"] = "0"; } double iSum=0; if (dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { if (dr["code"].ToString() != "") { iSum += Convert.ToDouble(dr["code"]); } } } dt.Rows.Add(dt.NewRow()); dt.Rows[dt.Rows.Count - 1]["code"] = iSum.ToString(); dt.Rows[dt.Rows.Count - 1]["autoid"] ="1"; dataGridView1.DataSource = dt; dataGridView1.Columns["autoid"].Visible = false; } string m_order = " ASC "; private void dataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { dt.DefaultView.Sort = " AutoID ASC, " + dataGridView1.Columns[e.ColumnIndex].Name.ToString() + m_order; if (m_order == " ASC ") { m_order = " Desc "; } else { m_order = " ASC "; } } } 请教:如何在listview中第一列添加ID标识 JavaScript中有办法获得服务器端的Java对象吗? Model层一小段简单的代码,谁能帮我理解一下~~谢谢【基础】 一个CPU是不是只能同时供一个线程使用呢? 关于SQL创建新表语句 通过基类的静态构造函数实例化窗口,点击窗口右上角Close,并不调用基窗口的FormClosing? 请帮我看看这段代码,有关socket的 Asp.Net C# 评教系统 打分 如何开始一个winForm和webUI共用一个业务逻辑的项目? 极其简单的问题 C#一个对象如何跟踪哪个对象调用了其静态方法? 委托跨线程调用的问题
现在就是要把合计显示在DataGridView1的最后行,不能用lable显示
public partial class Form1 : Form
{
DataTable dt = new DataTable();
public Form1()
{
InitializeComponent(); dt.Columns.Add("id");
dt.Columns.Add("code");
dt.Columns.Add("name");
dt.Columns.Add("re");
dt.Columns.Add("autoid"); for (int i = 0; i < 10; i++)
{
dt.Rows.Add(dt.NewRow());
dt.Rows[dt.Rows.Count - 1]["id"] = (10 + i).ToString();
dt.Rows[dt.Rows.Count - 1]["code"] = (100- i).ToString();
dt.Rows[dt.Rows.Count - 1]["name"] = "dd";
dt.Rows[dt.Rows.Count - 1]["re"] = "gg"+i.ToString();
dt.Rows[dt.Rows.Count - 1]["autoid"] = "0";
}
double iSum=0;
if (dt.Rows.Count > 0)
{
foreach (DataRow dr in dt.Rows)
{
if (dr["code"].ToString() != "")
{
iSum += Convert.ToDouble(dr["code"]);
}
}
}
dt.Rows.Add(dt.NewRow());
dt.Rows[dt.Rows.Count - 1]["code"] = iSum.ToString();
dt.Rows[dt.Rows.Count - 1]["autoid"] ="1";
dataGridView1.DataSource = dt;
dataGridView1.Columns["autoid"].Visible = false;
} string m_order = " ASC ";
private void dataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
dt.DefaultView.Sort = " AutoID ASC, " + dataGridView1.Columns[e.ColumnIndex].Name.ToString() + m_order;
if (m_order == " ASC ")
{
m_order = " Desc ";
}
else
{
m_order = " ASC ";
}
}
}