DataGridView的列标题是已经定好了的,而且那张要显示的表的列比DataGridView的列多一列,新手。。望详细解答。。
解决方案 »
- 我现在使用C++ BUILDER封装一个界面应用,想在C#里面调用,可以这样做吗?
- C# winform 点击Button,如何让contextMenuStrip菜单在鼠标左边显示?
- RichTextBox字体颜色的设置。
- windowless?
- 一个“类”中,不能多次调用“WCF 代理类”中同一方法???
- textBox限制输入问题
- webform各输入控件获得焦点后能反显原来内容,怎么实现,谢谢!!
- 请问怎样给datagrid中的checkbox添加单击事件?
- wpf如何实现标签模式的窗口?
- 除了vs.net和写字板,记事本外,有没有更好的程序编辑器,谢谢!
- 求教计算效率问题
- c#解析带命名空间的xml,求优化
然后DataGridview.DataSource = DataTable;就可以了
就比如说我已经做好的DataGridView有9列,而我想要显示的那张表有10列
从数据库中取出数据来后(放在dataset→datatable)
把datatable中没用的列删除了 再显示
其次根据数据库返回的数据集再填充到DataTable里
再次DataGridview.DataSource = DataTable;
//连接数据库代码,SQL语句自己写,我的DATAGRIDVIEW 叫 d_report,CONN自己写
private SqlDataAdapter find_do;
private DataSet ds;
SqlCommand cmd = new SqlCommand(sql_str, conn);
//实例化SQLCOMMAND
find_do = new SqlDataAdapter();
find_do.SelectCommand = cmd;
ds = new DataSet();
find_do.Fill(ds, "rs");//填充DS
try
{
//实现最后一列求合计
DataTable dataTable = ds.Tables["rs"];
DataRow dataRows;
dataRows = dataTable.NewRow();
dataRows[4] = dataTable.Compute("Sum(应收费)", "true");
dataRows[5] = dataTable.Compute("Sum(实收费)", "true");
dataRows[6] = dataTable.Compute("Sum(停车时长)", "true");
dataRows[7] = dataTable.Compute("Sum(免除)", "true");
dataRows[8] = dataTable.Compute("Sum(水单减免)", "true");
dataTable.Rows.Add(dataRows); //第一列插入“自动编号列”
ds.Tables[0].Columns.Add("编号");
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
if (i < ds.Tables[0].Rows.Count - 1)
{
ds.Tables[0].Rows[i]["编号"] = i + 1;
}
else
{
ds.Tables[0].Rows[i]["编号"] = "合计";
}
} ds.Tables[0].Columns["编号"].SetOrdinal(0);
d_report.DataSource = dataTable;//绑定数据
DataSet ds1 = new DataSet();
//5.数据处理
DataTable dtb = new DataTable();
sqlDataAdapter1.Fill(ds1);
DataTable dt=ds1.Tables["Table"];
dt.Columns.Remove(dt.Columns["你的打他table中的列明"]);
LZ 其实好多人都给你提供思路了 你可以根据这些一步步去实现
像你说的 datatable的列的删除 ,完全可以去google 我也是现查的哦--不过可以用没问题 试过
DataTable dt = DataSet.Tables[0];
2.在DataTable 中新生成一列“AAA”,如下;
dt.Columns.Add("AAA", typeof(System.String));3.把要显示的值给列AAA绑上,这个你就会了吧.