C#如何查找dataset某行数据
例如现在dataSet中有一dataTable其内容如下:TABLE1IDNameAgesex1jinn20男2kimi19女N......现在我希望通过comboBox...
例如现在dataSet中有一dataTable其内容如下:
TABLE1
ID Name Age sex
1 jinn 20 男
2 kimi 19 女
N ......
现在我希望通过comboBox1去选择 Name 中的值来获得值行中的其他例数值.在 Label 显示出来.
下面是我在网上找的方法.可是不知道哪里错了.
private void button3_Click(object sender, EventArgs e)
{
DataSet dsts = dst; // dst 为现在有的 DataSet
string sName = comboBox2.Text;
DataView dv = new DataView(dsts.Tables["toTable"]);
//dv = dsts.Tables[0].DefaultView;
dv.RowFilter = "Name='" + sName + "'";
//dv.ToTable(true, "");
//string ob1 = dv.ToTable("Name").ToString(); //显示的结果也一样 -_-!!!
DataTable ob1 = dv.ToTable("Name");
DataTable ob2 = dv.ToTable("Age");
DataTable ob3 = dv.ToTable("Sex");
DataTable ob4 = dv.ToTable("ID");
dataGridView2.DataSource = dv; //这里可以在dataGV2中显示出来
//DataTable dt = dvw.ToTable(true, ",Age");
label4.Text = "Name:(" + ob1 + ") Age:(" + ob2 + ") Sex:(" + ob3 + ") ID:(" + ob4 + ")";
label5.Text = string.Format("Name:({0}) Age:({1})Sex:({2}) ID:({3})", ob1, ob2, ob3, ob4);
}
label4/ label5 输出结果: Name:(Name) Age:(Age) Sex:(Sex) ID:( ID)
希望的结果: 通过 comboBox2.Text = jinn
label4/ label5 输出结果: Name:( jinn) Age:(20) Sex:(男) ID:( 1)
或者说有什么方法获得某行的索引下标? 展开
TABLE1
ID Name Age sex
1 jinn 20 男
2 kimi 19 女
N ......
现在我希望通过comboBox1去选择 Name 中的值来获得值行中的其他例数值.在 Label 显示出来.
下面是我在网上找的方法.可是不知道哪里错了.
private void button3_Click(object sender, EventArgs e)
{
DataSet dsts = dst; // dst 为现在有的 DataSet
string sName = comboBox2.Text;
DataView dv = new DataView(dsts.Tables["toTable"]);
//dv = dsts.Tables[0].DefaultView;
dv.RowFilter = "Name='" + sName + "'";
//dv.ToTable(true, "");
//string ob1 = dv.ToTable("Name").ToString(); //显示的结果也一样 -_-!!!
DataTable ob1 = dv.ToTable("Name");
DataTable ob2 = dv.ToTable("Age");
DataTable ob3 = dv.ToTable("Sex");
DataTable ob4 = dv.ToTable("ID");
dataGridView2.DataSource = dv; //这里可以在dataGV2中显示出来
//DataTable dt = dvw.ToTable(true, ",Age");
label4.Text = "Name:(" + ob1 + ") Age:(" + ob2 + ") Sex:(" + ob3 + ") ID:(" + ob4 + ")";
label5.Text = string.Format("Name:({0}) Age:({1})Sex:({2}) ID:({3})", ob1, ob2, ob3, ob4);
}
label4/ label5 输出结果: Name:(Name) Age:(Age) Sex:(Sex) ID:( ID)
希望的结果: 通过 comboBox2.Text = jinn
label4/ label5 输出结果: Name:( jinn) Age:(20) Sex:(男) ID:( 1)
或者说有什么方法获得某行的索引下标? 展开
1个回答
展开全部
private void GetRowsByFilter()
{
DataTable table = DataSet1.Tables["TABLE1"];
string expression;
expression = "Name ='"+sName+"'";
DataRow[] foundRows;
//使用选择方法来找到匹配的所有行。
foundRows = table.Select(expression);
//过滤行,找到所要的行。
for(int i = 0; i < foundRows.Length; i ++)
{
string str1 = Console.WriteLine(foundRows[i]["Name"]).ToString();
string str2 = Console.WriteLine(foundRows[i]["Age"]).ToString();
string str3 = Console.WriteLine(foundRows[i]["Sex"]).ToString();
string str4 = Console.WriteLine(foundRows[i]["ID"]).ToString();
label5.Text = string.Format("Name:({0}) Age:({1})Sex:({2}) ID:({3})", str1, str2, str3,str4);
}
}
{
DataTable table = DataSet1.Tables["TABLE1"];
string expression;
expression = "Name ='"+sName+"'";
DataRow[] foundRows;
//使用选择方法来找到匹配的所有行。
foundRows = table.Select(expression);
//过滤行,找到所要的行。
for(int i = 0; i < foundRows.Length; i ++)
{
string str1 = Console.WriteLine(foundRows[i]["Name"]).ToString();
string str2 = Console.WriteLine(foundRows[i]["Age"]).ToString();
string str3 = Console.WriteLine(foundRows[i]["Sex"]).ToString();
string str4 = Console.WriteLine(foundRows[i]["ID"]).ToString();
label5.Text = string.Format("Name:({0}) Age:({1})Sex:({2}) ID:({3})", str1, str2, str3,str4);
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询