编辑列中的所有行,数据表c#
我有一个数据表,其中填充了一个已读入的文件中的数据。然后我希望编辑特定列中的所有行。在我的例子中,速度列除以1.6,从公里小时转换为英里小时 到目前为止,我已经尝试使用下面的代码,但得到的索引超出了范围编辑列中的所有行,数据表c#,c#,datatable,C#,Datatable,我有一个数据表,其中填充了一个已读入的文件中的数据。然后我希望编辑特定列中的所有行。在我的例子中,速度列除以1.6,从公里小时转换为英里小时 到目前为止,我已经尝试使用下面的代码,但得到的索引超出了范围 foreach (DataRow row in data_table.Rows) { row["Speed (KM/H)"] = speed[x]/1.6; } 下面是用文件填充数据表的代码 private void display_hrm_data() { /* arr
foreach (DataRow row in data_table.Rows) {
row["Speed (KM/H)"] = speed[x]/1.6;
}
下面是用文件填充数据表的代码
private void display_hrm_data() {
/* array heart_rate_table set to heart_rate
* adds each column
* for every piece of data in heart_rate_table add rows
*/
data_table.Columns.Add("Heart Rate (BPM)", typeof(string));
data_table.Columns.Add("Speed (KM/H)", typeof(int));
data_table.Columns.Add("Cadence (RPM)", typeof(int));
data_table.Columns.Add("Altitude (M)", typeof(int));
data_table.Columns.Add("Power (Watts)", typeof(int));
data_table.Columns.Add("Time (Seconds)", typeof(int));
for (int x = 0; x < heart_rate.Count - 1; x++) {
time = time + 1;
data_table.Rows.Add(heart_rate[x],speed[x],cadence[x],altitude[x],power[x], time);
}
dgv_data.DataSource = data_table;
}
private void display\u hrm\u data(){
/*数组心率表设置为心率
*添加每列
*对于心率表中的每一条数据,添加行
*/
data_table.Columns.Add(“心率(BPM)”,typeof(字符串));
数据表.列.添加(“速度(KM/H)”,类型(int));
数据表.列.添加(“Cadence(RPM)”,typeof(int));
数据表列添加(“高度(M)”,类型(int));
添加(“功率(瓦特)”,类型(int));
data_table.Columns.Add(“时间(秒)”,typeof(int));
对于(int x=0;x<心率计数-1;x++){
时间=时间+1;
数据表。行。加(心率[x]、速度[x]、节奏[x]、高度[x]、功率[x]、时间);
}
dgv_data.DataSource=数据_表;
}
您可以使用强类型的字段
和设置字段
扩展名,否则需要手动将字段从object强制转换为int
。由于x
似乎是无效索引,因此会出现IndexOutOfRange
异常。使用列名
例如:
DataColumn speedCol = data_table.Columns["Speed (KM/H)"];
foreach (DataRow row in data_table.Rows)
{
int oldSpeed = row.Field<int>(speedCol);
row.SetField(speedCol, oldSpeed / 1.6);
}
DataColumn speedCol=data_table.Columns[“速度(KM/H)”;
foreach(数据表中的DataRow行)
{
int oldSpeed=行字段(speedCol);
行设置字段(speedCol,oldSpeed/1.6);
}
x的速度是多少[x]?@apomene我正在读取文件中的行。它保存了大量数据,所以我使用for循环来读取特定的行。这里声明了速度,您在哪里使用x作为索引器?