Tag: datatable

根据数据表asp.net的标志列在运行时更改下拉项的背景颜色

我有一个下拉cboVendor ,其中供应商名称即将到来我想要背景颜色为红色,其fullyAgg列(dt contains 11 columns in which fullagg is the 11th column )将作为零。当前我正在做,如下面的代码所示但它将所有这些都归零(这不应该发生) 的.aspx – Select Vendor – c#代码 DataTable dt = default(DataTable); cboVendor.DataSource = dt; cboVendor.DataTextField = “SupplierName”; cboVendor.DataValueField = “SupplierID”; cboVendor.DataBind(); cboVendor.SelectedIndex = 0; foreach (ListItem item in cboVendor.Items) { if (dt.Rows(10)(“fullyAgg”) == 0) { item.Attributes.Add(“style”, “background-color:red;”); } }

在aspx页面中显示DataTable信息

我是Asp.net的新手。 我创建了一个登录页面,用于检索DataTable中的用户信息。 我将此信息存储在会话变量中。 这是代码: using System; using System.Data; using System.Data.SqlClient; using System.Configuration; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Data; using System.Web.Configuration; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btnSubmit_Click(object sender, EventArgs e) { SqlConnection […]

在C#中更新DataRow有问题

我有一个非常简单的C#DataTable问题,我似乎无法解决这个问题。 它看起来如此紧张,但我必须遗漏一些东西。 我希望有人可以向我解释为什么我无法更新DataTable中的单元格值,如下所示: 码: DataTable t = new DataTable(); t.Columns.Add(“MyCol”); t.Rows.Add(“old value”); t.Rows[0].ItemArray[0] = “new value”; t.AcceptChanges(); dataGridView1.DataSource = t; //did not work. still reads “old value” 任何帮助,将不胜感激! 谢谢!

我们如何将数据表的数据列的数据复制到另一个数据表?

我们如何将一个数据列从一个数据表复制到另一个数据表? 我有数据表喜欢 DataTable datatable1=new DataTable(); 那个表中有四列,但我只想要一列。所以我喜欢 DataTable datatable2=new DataTable(); addressAndPhones2.Columns.Add(addressAndPhones.Columns[0].ColumnName,addressAndPhones.Columns[0].DataType); 但这只是添加了列,但我想将该列的数据复制到datatable2。这就是我想将数据从一个数据表复制到另一个数据表的数据列。

如何以可读的格式显示WriteXml中的DataTable XML?

我有一些DataTables,我想导出到一个文件,然后看看。 我可以使用DataTable.WriteXml()将DataTables的内容输出到XML,但是以表格forms显示这些数据的简单方法是什么? 一种建议的方法是使用XSLT或类似的方法将XML转换为可读的东西。 我不知道这是否容易,但如果它易于使用,那将是一个很好的解决方案。 我从WriteXml()获得的单个DataTable的XML示例如下所示。 这是一个名为’RecentMatter’的表,包含10列和3行数据。 我希望它显示为数据表。 我不太关心数据值的格式化,例如将DateTime值转换为更可读的值。 我在生成它时使用了XmlWriteMode.WriteSchema参数。 如果删除它,则删除所有架构信息(在第一个标记之前)。 不同的表显然会有不同的列数,因此任何解决方案都需要处理它,理想情况下无需修改具有不同列的表的解决方案。 PSLTP6\RJK 99999-2302 Test Matters DP Test Matter 99999 true 2011-08-23T23:40:24.13+01:00 PSLTP6\RJK 999991.0002 Lathe 1 LW Test 2 true 2011-07-12T16:57:27.173+01:00 PSLTP6\RJK 999991-0001 Lathe 1 LW Test 1 false 2011-07-12T01:59:06.887+01:00

c#将行添加到具有自动增量列的数据表中

我有一个数据表,有A,B,C列。我已将A列的“is identity”属性设置为true,但我现在无法向表中添加任何行。 我正在尝试的代码是这样的: dsA.dtA row = dsA.dtA.NewdtARow(); row.B = 1; row.C = 2; dsA.dtA.Rows.Add(row); 我得到NoNullAllowedException,但我不明白为什么。 A列也是PK。 如果我试图设置row.A = 5(或任何类似的)当我尝试更新数据表时说“当identity_insert设置为off时无法在表中插入标识列的显式值”时会出现错误 我该如何解决这个问题? 这令人沮丧。

在所有DataTable列中查找字符串

我试图找到一种快速的方法来在所有数据表列中找到一个字符串! 随后没有工作,因为我想在所有列值内搜索。 string str = “%whatever%”; foreach (DataRow row in dataTable.Rows) foreach (DataColumn col in row.ItemArray) if (row[col].ToString() == str) return true;

通过Linq比较两个数据表

嗨,我想通过Linq比较两个数据表。 但是我得到了这个例外: 具体演员表无效 请帮我,因为我是Linq的新手。 这是我正在使用的代码: var matched1 = from table1 in dtAvailableStores.AsEnumerable() join table2 in dtControlStores.AsEnumerable() on table1.Field(“STORE_NBR”) equals table2.Field(“STORE_NBR”) select table1; 这里STORE_NBR是一个字符串值。

使用GridView生成数据表

我有网格视图,在网格视图中,我有一个按钮,在选择该按钮时,我需要在数据表中插入/更新记录。 如果在数据表中有值,那么qty字段将增加1。 在数据表中插入带有数量1的新行。 现在问题出在GridView1_RowCommand我正在编写这段代码。 但它在数据表中给出了错误的值。 我的代码写在下面。 请帮我。 protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == “datacommand”) { DataTable dt = new DataTable(); if (Session[“product_id”] != null) { dt = (DataTable)Session[“product_id”]; } DataRow dr; //dt.Rows[0][“qty”] = data; if (dt.Rows.Count<=0) { dt.Columns.Add("product_id", typeof(Int32)); dt.Columns.Add("qty", typeof(int)); dt.Columns.Add("price", typeof(double)); dt.Columns.Add("total", typeof(double)); dr = dt.NewRow(); dr["product_id"] = e.CommandArgument; […]

.NET垃圾收集行为(使用DataTable obj)

我想知道为什么在创建一个非常简单的DataTable然后将其设置为null后,垃圾收集不会清除该DataTable使用的所有内存。 这是一个例子。 变量Before应该等于Removed但它不是。 { long Before = 0, After = 0, Removed = 0, Collected = 0; Before = GC.GetTotalMemory(true); DataTable dt = GetSomeDataTableFromSql(); After = GC.GetTotalMemory(true); dt = null; Removed = GC.GetTotalMemory(true); GC.Collect(); Collected = GC.GetTotalMemory(true); } 给出以下结果。 Before = 388116 After = 731248 Removed = 530176 Collected = 530176