从DataTable / DataSet中的搜索创建DataRow

时间:2012-06-08 18:33:31

标签: c# asp.net .net

我在这个数据库访问的东西上取得了进展...... 这是我需要做的事情: 我有一个在类命名空间中定义的现有DataSet(因此也就是DataTable),我正在尝试创建一个允许用户从项列表中选择的函数,并使用SelectedItem.Value(包含数据库中的唯一主键)以显示有关所选项的更多信息。我相信我需要搜索DataSet并将其读入类似DataRow的内容,以便我可以显示其中的值(有一种方法可以根据列名做到这一点,对吗?)

我只是想不通怎么说“复制/选择主键”部分号“等于SelectedItem.Value”的行

1 个答案:

答案 0 :(得分:2)

有三种常用方法

  1. 仅当已将列定义为主键时,才能使用DataRowCollection.Find

    var row = table.Rows.Find(SelectedItem.Value)
    
  2. 使用DataTable.Select(String)使用类似字符串的过滤器

    var rows = table.Select("IdFieldSelectedItem.Value = " + SelectedItem.Value);
    var row = rows[0];
    
  3. 使用Linq to Dataset

    var row =  (from t in table.AsEnumerable()
                where t.Field<int>("Id") == SelectedItem.Value
                select t).First();