Tag: datatable

数据表+使用循环删除c#中的一行

我有一个数据表,我想在这里删除一行是我的代码它给我一个例外 foreach (DataRow row in dt1.Rows) { if ((row[“Name”] == “Select a Lookbook”) || (row[“Name”] == “Create a new Lookbook”)) { row.Delete(); dt1.AcceptChanges(); } } 我甚至尝试在if语句外面和外面的forloop仍然抛出我的错误任何想法如何实现这个任务这是我得到的例外: Collection was modified; enumeration operation might not execute. 最终工作守则: foreach (DataRow row in dt1.Select()) { if ((row[“Name”] == “Select a Lookbook”) || (row[“Name”] == “Create a new Lookbook”)) { […]

使用DataContext从LINQ查询填充DataTable的最快方法

我正在尝试运行linq查询,但我需要将结果作为数据表,因为我使用它来存储来自同一viewstate对象中的不同查询的记录。 下面的两个版本编译,但返回一个空集。 确切的错误是“值不能为空。参数名称:源” 。 (是的,我检查过有数据): MyDatabaseDataContext db = new MyDatabaseDataContext(conn); IEnumerable queryProjects = (from DataRow p in db.STREAM_PROJECTs.AsEnumerable() where p.Field(“STREAM_ID”) == StreamID select new { PROJECT_ID = p.Field(“PROJECT_ID”), PROJECT_NAME = p.Field(“PROJECT_NAME”) }) as IEnumerable; DataTable results = queryProjects.CopyToDataTable(); … //(from p in db.STREAM_PROJECTs.AsEnumerable() //where p.STREAM_ID == StreamID //select new //{ // p.PROJECT_NAME, // p.PROJECT_ID //}) […]

使用C#从DataTable创建HTML

我需要能够将HTML数据传递到Outlook,如下所示: MailMessage message = new MailMessage(); message.Body = myBody; 最初我以为我可以将纯文本传递给它并像这样使用PadLeft : somestring.PadLeft(100); 但它没有正确对齐一切,因为即使||||| 和MMMMM长度都只有5个字符,它们在屏幕上的物理占用空间更大。 我的解决方案是将我的数据表中的数据转换为HTML表,然后将其传递给Outlook。 如何将数据表转换为html表? 我的问题有更好的解决方案吗? 非常感谢你的帮助。

如何在ReportViewer中将Datatable设置为数据源

我在ReportViewer中搜索关于Datatable作为datasource的最后一个问题,我发现这是解决方案 DataTable table = new DataTable(); table.Columns.Add(“value”, typeof(string)); table.Columns.Add(“price”, typeof(string)); table.Columns.Add(“quantity”, typeof(string)); table.Rows.Add(“test1″,”10″,”20”); table.Rows.Add(“test2”, “10”, “20”); reportViewer1.LocalReport.DataSources.Clear(); ReportDataSource rprtDTSource = new ReportDataSource(“TITLE”,table); reportViewer1.LocalReport.DataSources.Add(rprtDTSource); reportViewer1.RefreshReport(); 但我得到这个图像的结果 问题是什么 ??

如何将gridview行添加到数据表?

我有一个gridview,它将包含一些’n’个行….现在我想将gridview的所有行添加到一个数据表中,该数据表将用于批量复制操作… 我找到了这个http://www.codeproject.com/KB/aspnet/GridView_To_DataTable.aspx 但我希望我的gridview的所有列都添加到数据网格的数据行中http://img85.imageshack.us/img85/4044/gridp.jpg 我想在提交时将gridview转换为数据表….任何建议…… 编辑: 下面的答案有效,我也找到了答案…… DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn(“EmpId”, typeof(Int64))); dt.Columns.Add(new DataColumn(“FromDate”, typeof(DateTime))); dt.Columns.Add(new DataColumn(“ToDate”, typeof(DateTime))); dt.Columns.Add(new DataColumn(“DaysPresent”, typeof(double))); dt.Columns.Add(new DataColumn(“OpeningAdvance”, typeof(double))); dt.Columns.Add(new DataColumn(“AdvanceDeducted”, typeof(double))); dt.Columns.Add(new DataColumn(“RemainingAdvance”, typeof(double))); dt.Columns.Add(new DataColumn(“SalaryGiven”, typeof(double))); dt.Columns.Add(new DataColumn(“CreatedDate”, typeof(DateTime))); foreach (GridViewRow row in gridEmployee.Rows) { if (row.RowType == DataControlRowType.DataRow) { DataRow dr = dt.NewRow(); dr[“EmpId”] = […]

如何将LINQ结果转换为DATATABLE?

有没有办法在不逐步遍历每个元素的情况下将LINQ表达式的结果转换为DataTable ?

从DataTable创建XML

使用C#:我想将此表转换为XML。 请忽略行名称中的错误 。 这是测试数据。 我已经将两列的样本转换为xml,并将相应的行作为属性。 但我实际上想要所有列。 这是一个数据表。 1 1 1 1 0 1 1 1 1 1 1 700 1 80 1 200 1 0 0 0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 700 1 80 1 200 1 0 0 0 0 0 1 1

当多列中的数据匹配时,如何合并DataTable中的行?

我试图找出一种在column1,column2,column3,column4匹配时合并DataTable中的行的好方法。 有没有人有关于如何在VB.NET和/或C#中实现这一点的指针或想法? DataTable with duplicate rows to merge ————————————————————- | Column1 | Column2 | Column3 | Column4 | Column5 | Column6 | ————————————————————- | 123456 | 6 | 54 | 5 | 0.00 | 36.78 | | 123456 | 6 | 54 | 5 | 21.00 | 0.00 | | 123456 | 6 | 54 […]

在将DataTable设置为DataSource时报告要求数据库登录

报表设计器在设计器中创建水晶报表,使用ODBC(DSN)连接直接连接到数据库。 通过DSN通过Winform(C#)应用程序执行相同的报告,并提供数据库服务器,数据库,用户ID和密码。 我需要对Crystal Report对象进行此类更改。 ReportDocument不应该通过DSN直接连接到数据库。 相反,我们将通过调用相应的存储过程和参数作为System.Data.DataTable来通过服务提供数据。 此DataTable对象应用于填充/生成报告。 我分别从ReportDocument.DataBase.Tables[I].Location和ReportDocument.DataDefinition对象中获取存储过程和参数信息。 在使用ReportDocument.DataBase.Tables[I].SetDataSource(DataTable)设置DataSource之后,它仍然要求数据库/服务器和用户凭据连接到服务器。 我们是否可以实现场景并使用内存表填充报表,而不是通过ODBC直接连接到数据库?

在C#中将DataTable转换为SQL的CREATE TABLE + INSERT脚本

我需要从DataTable生成一个TSQL脚本以及其中的DATA。 它不是一个插入物。 除此之外,我还需要创建表(相同的数据结构) 所以:我有一个填充数据的DataTable。 我想要TSQL脚本创建此DataTable的结构以及SQL SERVER中的数据(CREATE TABLE + INSERT) 提前感谢您特别感谢John Saunders帮我纠正这个问题。