C# 从数据表中获取单元格
我正在处理数据表。我有一个是这样的:C# 从数据表中获取单元格,c#,excel,datatable,datatables,C#,Excel,Datatable,Datatables,我正在处理数据表。我有一个是这样的: 好的,我想做的是,例如,如果我在1级(COSC-1218-SIT41SCH),我想得到2级的“Cantidad”单元的红色例如,单元格为C3、C4、C5、C6和C7。如何使用datatables实现这一点?使用。选择还是必须使用循环?我对datatables一无所知。首先,您可以尝试获取“COSC-1218-SIT41SCH”的行索引。然后遍历数据表以获得“Cantidad”。这里是一个简单的演示,你可以参考 DataSet ds = new DataSe
好的,我想做的是,例如,如果我在1级(COSC-1218-SIT41SCH),我想得到2级的“Cantidad”单元的红色例如,单元格为C3、C4、C5、C6和C7。如何使用datatables实现这一点?使用。选择还是必须使用循环?我对datatables一无所知。首先,您可以尝试获取“COSC-1218-SIT41SCH”的行索引。然后遍历数据表以获得“Cantidad”。这里是一个简单的演示,你可以参考
DataSet ds = new DataSet();
DataTable dt = new DataTable();
// Define a list to store the row index of "COSC-1218-SIT41SCH"
List<int> list = new List<int>();
private void button1_Click(object sender, EventArgs e)
{
using (SqlConnection conn = new SqlConnection(@"Connection String"))
{
SqlDataAdapter sda = new SqlDataAdapter("Select * From GetCellTest", conn);
sda.Fill(ds, "T_Class");
}
dt = ds.Tables["T_Class"];
foreach (DataRow dr in dt.Rows)
{
if (dr["Level1"].ToString() == "COSC-1218-SIT41SCH")
{
list.Add(dt.Rows.IndexOf(dr));
}
}
// Filter the first one
list.Remove(0);
// Get the value of "Cantidad"
foreach(var i in list)
{
Console.WriteLine(dt.Rows[i]["Cantidad"].ToString());
}
}
DataSet ds=新数据集();
DataTable dt=新的DataTable();
//定义一个列表来存储“COSC-1218-SIT41SCH”的行索引
列表=新列表();
私有无效按钮1\u单击(对象发送者,事件参数e)
{
使用(SqlConnection conn=newsqlconnection(@“连接字符串”))
{
SqlDataAdapter sda=新SqlDataAdapter(“从GetCellTest中选择*”,conn);
sda.填充(ds,“T_类”);
}
dt=ds.表格[“T_类”];
foreach(数据行dr在dt.行中)
{
如果(dr[“Level1”].ToString()=“COSC-1218-SIT41SCH”)
{
添加(dt.Rows.IndexOf(dr));
}
}
//过滤第一个
列表。删除(0);
//获取“Cantidad”的值
foreach(列表中的变量i)
{
Console.WriteLine(dt.Rows[i][“Cantidad”].ToString());
}
}
我认为这更像是一个算法问题,一个与数据表相关的问题。谢谢你的回答,它是有效的,但通过这种方式,我有整个级别2的“数量”,所以我有“COSC-1218-sit41sch”的数量列,但也有“COSC-12-IF43SCH”的数量列,我只想得到红色值,即。,COSC-1218-sit41sch下的值。我使用了dr[“Level1”]。ToString()==“COSC-1218-sit41sch”
,它只过滤满足条件的“Level2”。但如果我们不知道Level1值,我们如何获得红色值?您已知的参数是什么?我已经用所有列编辑了帖子,如果我这样做,我可以知道每一列和每一个单元格的值在哪里:DataTable.Rows[j][I]。。。通过循环,我可以在DataTable上迭代