C# 如何在ASP.NET中以编程方式向数据列表/数据源添加值?

C# 如何在ASP.NET中以编程方式向数据列表/数据源添加值?,c#,asp.net,C#,Asp.net,我需要一种向数据列表添加值的方法,这些值不是来自数据列表所连接的SQLDataSource。这些值不一定在我的数据库中找到,但仍然需要显示在我已有的数据列表中 在我的页面上,我有以下结构: DataListA Hidden Field Label DataListB SQLDataSourceB SQLDataSourceA 我正在寻找以编程方式向SQLDataSourceB添加条目(自定义条目)的方法,以便DataListB包含我需要在DataListB中显

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

在我的页面上,我有以下结构:

DataListA
    Hidden Field
    Label
    DataListB
    SQLDataSourceB

SQLDataSourceA
我正在寻找以编程方式向SQLDataSourceB添加条目(自定义条目)的方法,以便DataListB包含我需要在DataListB中显示的这些额外行。我已经研究了Pre_Render事件和示例,如find,但我不需要更改条目,也不需要更改它们的样式。我正在寻找添加自定义条目的,有没有办法


编辑:DataListB显示的结果是“部门”、“代码”和“名称”。这些是学校课程的展示。也就是说,一个典型的结果是:
art3000摄影
. 我希望添加到DataListB的课程是与上述示例格式相同的自定义课程。这背后的原因-如果我在数据列表B中显示
ART 3000摄影
,我想显示
SCI 1000生物学
,而不是如果我没有显示
ART 3000摄影
,我想显示
SCI 1100化学
。有很多这样的情况,我需要能够检查我显示的课程(在页面加载之前),并更改需要添加到DataListB的自定义类

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


第二种情况与第一种情况类似,但不是包含1000到3000个,而是有一个不同的类池。因此,它将更改为“您需要从这些类中再增加两个类:1200、1350、2300等等。”

您可以使用
DataView
获取
SqlDataSource
数据,然后将其转换为
DataView
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();

您使用什么作为数据源的select命令?它返回哪些字段?您还可以给出一个您希望显示的自定义值的示例吗?@YuriyGalanter,我在新添加的“编辑”部分下添加了额外的详细信息
SCI 1000 Biology
SCI 1000 Chemistry
来自哪里-SqlDataSourceA?是否有一种方法可以根据提供的其他信息(如where子句)确定这些自定义类?@ethorn10,SCI 1000 Biology,这些类在我的数据库中有记录,但数量太多,无法包含所有这些类的where子句。我提供了一个示例案例来演示如何填充我的数据列表,以进一步阐述我的流程