在LINQ上使用DataTable的地方

vin*_*ini 1 c# linq datatable c#-4.0

var results = from myRow in dsPac.AsEnumerable()
              where myRow.Field<string>("Package_Name").Equals(lblPackageName.Text)
              select myRow;
Run Code Online (Sandbox Code Playgroud)

dsPac包含

在此输入图像描述

我要选择对应的数据Package1712200466,即

在此输入图像描述

当我绑定到GridView时,我收到以下错误

DataBinding: 'System.Data.DataRow' does not contain a property
with the name 'Holiday_ID'.
Run Code Online (Sandbox Code Playgroud)

the*_*yer 5

在过去,当我想要绑定到GridView的数据行时,我创建了一个对象来执行此操作.在这种情况下,您可以使用Linq查询来创建一个可以解决问题的匿名对象.

 var results = from myRow in dsPac.AsEnumerable()
               where myRow.Field<string>("Package_Name").Equals(lblPackageName.Text)
               select new { Holiday_ID = myRow["Holiday_ID"],
                            Holiday_Description = myRow["Holiday_Description"],
                            Holiday_Date = myRow["Holiday_Date"] };
Run Code Online (Sandbox Code Playgroud)

我不相信直接绑定到行会工作 - 请参阅异常文本.通过Item []索引器访问行列,因此您需要编写WPF转换器以实现相同的效果.总之,浪费时间因为Linq查询将起作用.