js中这样获取DataTable中的行中的列数据??
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中这样获取DataTable中的行中的列数据??相关的知识,希望对你有一定的参考价值。
CurDT//为DataTable数据类型,数据存在(4行5列数据,都有值)
CurDT.Rows[0]["ID"]//数据正常
CurDT.Rows[0].ID//数据正常
但我现在想去第0行的第1列的数据(根据索引取数据),原以为这样CurDT.Rows[0][1],但是包错了,不行,应该怎么写.
CurDT.Rows[0].Cells[1],CurDT.Rows[0].Item[1],这样也错.
该怎么写????
我是通过Ajax从后台取到DataSet类型,然后转化成DataTable返回到Js中的,就是CurDT(类似DataTable类型),我很确定,这一点请放心.
而且我能通过CurDT.Rows.length看到其行数,也可通过CurDT.Rows[i]["ID"]查看每一行其中列为ID的数据,等等.
我现在觉的这样取不到CurDT.Rows[0][x]//x为列,我问问各位该怎么写,通过列的索引? ....
具体怎么遍历看下边一段
var tableObj = document.getElementById("tableName");
var str = "";
for(var i=0;i<tableObj.rows.length;i++)
for(varj=0;j<tableObj.rows[i].cells.length;j++)
//str += tableObj.rows[i].cells[j].innerHTML+" ";
for(var z=0;z<tableObj.rows[i].cells[j].children.length;z++)
var text = tableObj.rows[i].cells[j].children[z];//取得text object
str += text.value;
str+=""n";
alert(str);
如果放到HTML是一个table的话,tableObj.rows[i].cells[j].innerText你这样试下CurDT.Rows[0][x]不是HTML的方式本回答被提问者采纳
更改绑定到 DataGridView 的 DataTable 中的列顺序不会反映在视图中
【中文标题】更改绑定到 DataGridView 的 DataTable 中的列顺序不会反映在视图中【英文标题】:Changing column order in DataTable bound to DataGridView does not reflect in the view 【发布时间】:2010-10-04 16:49:05 【问题描述】:当应用程序运行时,DataGridView
绑定到DataTable
。后来我以编程方式向DataTable
添加了更多列,它反映在基础数据中——即列序数应该是这样。但是,这并未反映在DataGridView
中。而是将列附加到最初生成的集合上。
这个例子演示,
public partial class Form1 : Form
public Form1()
InitializeComponent();
public DataTable data = new DataTable();
private void button1_Click(object sender, EventArgs e)
this.dataGridView1.DataSource = data;
for (int i = 0; i < 5; i++)
this.data.Columns.Add(i.ToString());
private void button2_Click(object sender, EventArgs e)
DataColumn foo = new DataColumn();
this.data.Columns.Add(foo);
foo.SetOrdinal(0);
private void button3_Click(object sender, EventArgs e)
foreach (DataColumn tmpCol in this.data.Columns)
Console.WriteLine("0 : 1", tmpCol.ColumnName, tmpCol.Ordinal);
按钮 1 生成列,按钮 2 添加列并将序号设置为 0,因此它应该位于网格中的第一个,按钮 3 显示列的序号并显示它们在 DataTable
中的位置.
【问题讨论】:
【参考方案1】:这就是DataGridView
的工作原理;启用自动生成列后,额外的(未映射的)列将附加到末尾。您可以解绑并重新绑定以修复它;将 DataSource 设置为 null 并返回表:
this.dataGridView1.DataSource = null;
this.dataGridView1.Columns.Clear();
this.dataGridView1.DataSource = data;
【讨论】:
【参考方案2】:我遇到了类似的问题,并使用 DataGridViewColumn.DisplayIndex 属性解决了它。
dgvData.Columns["COLUMN_NAME"].DisplayIndex = 0; // will move your custom column to first position
【讨论】:
【参考方案3】:不要忘记打开和关闭 AutoColumnCreate 以确保您是 DisplatIndex 的工作。
http://www.internetworkconsulting.net/content/datadridview-displayorder-not-working
【讨论】:
请修复您的链接以上是关于js中这样获取DataTable中的行中的列数据??的主要内容,如果未能解决你的问题,请参考以下文章