从数据集中选择特定行后无法将其绑定到 gridview 控件

问题描述 投票:0回答:1

我通过以下方式将数据集分配给 gridview

datasource
属性:

if (subCategId == "20")
                    {
                        grdPHPortion.DataSource = _ds.Tables[0].AsEnumerable().Where(dr => dr.Field<int>("SubCategId") == 20).ToList();
                        grdPHPortion.DataBind();
                    }

但我有例外地说:

在名称中找不到名为“ItemName”的字段或属性 选定的数据源

在调试时,我在数据集可视化器中检查了我的数据集(_ds),并且 ItemName 属性在数据集中可用。

我尝试过的其他语法是:

grdElecPortion.DataSource = _ds.Tables[0].Select("SubCategId='20'");

但我又遇到了同样的例外。请帮忙解决这个异常。

c# asp.net dataset aspxgridview
1个回答
0
投票

您可以通过遍历数据行将数据集转换为列表,然后尝试将网格与列表绑定。 数据集 ds = new 数据集(); ds = obj.getXmlData();//获取数据集中的多表

            Employee objEmp = new Employee ();// create the object of class Employee 
            List<Employee > empList = new List<Employee >();
            int table = Convert.ToInt32(ds.Tables.Count);// count the number of table in dataset
            for (int i = 1; i < table; i++)// set the table value in list one by one
            {
                foreach (DataRow dr in ds.Tables[i].Rows)
                {
                    empList.Add(new Employee { Title1 = Convert.ToString(dr["Title"]), Hosting1 = Convert.ToString(dr["Hosting"]), Startdate1 = Convert.ToString(dr["Startdate"]), ExpDate1 = Convert.ToString(dr["ExpDate"]) });
                }
            }
            dataGridView1.DataSource = empList;
© www.soinside.com 2019 - 2024. All rights reserved.