如何以编程方式将值添加到 ASP.NET 中的数据列表/数据源?

2024-01-09

我需要一种向 DataList 添加不是来自 DataList 连接到的 SQLDataSource 的值的方法。这些值不一定在我的数据库中找到,但仍然需要显示在我已有的 DataList 中。

在我的页面上我有这样的结构:

DataListA
    Hidden Field
    Label
    DataListB
    SQLDataSourceB

SQLDataSourceA

我正在寻找以编程方式将条目(自定义条目)添加到 SQLDataSourceB 的方法,以便 DataListB 包含我需要在 DataListB 中显示的这些额外行。我研究了 Pre_Render 事件和示例,例如发现here https://stackoverflow.com/questions/6213777/add-rows-in-a-gridview-c-sharp但我不需要更改条目,也不需要改变它们的风格。我在寻找adding自定义条目,有没有办法做到这一点?


Edit:DataListB 显示的结果是“部门”、“代码”和“名称”。这些正在展示学校课程。即,典型的结果如下所示:ART 3000 Photography。我想要添加到 DataListB 的课程是自定义课程,其格式与上面的示例相同。这背后的原因 - 如果我显示ART 3000 Photography在DataListB中,我想显示SCI 1000 Biology而不是如果我没有显示ART 3000 Photography,我想要SCI 1100 Chemistry。在很多这样的情况下,我需要能够检查我正在显示的课程(在页面加载之前)并更改需要添加到 DataListB 的自定义类。

@ethorn10我有两个主要需求将这些自定义课程添加到我的数据列表中。第一种情况适用于一系列类别。对于此范围内表中显示的每个类别,都会改变我从该池中需要的 x 个类别数。例如,假设我有一系列“代码”从 1000 到 3000 的类。此范围内的类限制(至少)应显示在表中为 6。因此,(并且我意识到一些标签为此,需要排序,而不是数据列表中的条目)我希望用户看到“1000 到 3000 之间的 6 个类”。对于显示的该范围内的每一门课程,我希望“6”递减,因此,如果在该范围内选修一门课程,则显示/标签应显示“1000 到 3000 之间还有 5 个课程”。

第二种情况与第一种类似,但不是包含 1000 到 3000 个,而是有一个不同类的池。因此它变为“您还需要这些类别中的 2 个类别:1200、1350、2300 等...”


您可以使用DataView得到SqlDataSource数据,然后转换为DataView to Datatable。之后,您可以将自定义数据添加为Rows to the DataTable.

DataView dv =(DataView)SqlDataSource1.Select(new DataSourceSelectArguments());
DataTable dt = dv.ToTable();
dt.Rows.Add(1, "item1", "item2", 3, "item4"); //the number of param should match the number of column you query returns
GridView1.DataSource = dt; //binding the datatable to a gridview after adding customer record
GridView1.DataBind();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何以编程方式将值添加到 ASP.NET 中的数据列表/数据源? 的相关文章

随机推荐