如何将项目添加到 List的开头?
我想将“选择一个”选项添加到绑定到 List
的下拉列表中。
一旦我查询 List
,如何添加我的初始 Item
(不是数据源的一部分)作为该 List
List
中的第一个元素? T>
? 我有:
// populate ti from data
List<MyTypeItem> ti = MyTypeItem.GetTypeItems();
//create initial entry
MyTypeItem initialItem = new MyTypeItem();
initialItem.TypeItem = "Select One";
initialItem.TypeItemID = 0;
ti.Add(initialItem) <!-- want this at the TOP!
// then
DropDownList1.DataSource = ti;
I want to add a "Select One" option to a drop down list bound to a List<T>
.
Once I query for the List<T>
, how do I add my initial Item
, not part of the data source, as the FIRST element in that List<T>
? I have:
// populate ti from data
List<MyTypeItem> ti = MyTypeItem.GetTypeItems();
//create initial entry
MyTypeItem initialItem = new MyTypeItem();
initialItem.TypeItem = "Select One";
initialItem.TypeItemID = 0;
ti.Add(initialItem) <!-- want this at the TOP!
// then
DropDownList1.DataSource = ti;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
使用 插入 方法:
Use the Insert method:
从 .NET 4.7.1 开始,您可以使用无副作用的
Prepend()
和Append()
。 输出将是一个 IEnumerable。编辑:
如果您想显式改变给定列表:
但此时只需使用
插入(0, 0)
Since .NET 4.7.1, you can use the side-effect free
Prepend()
andAppend()
. The output is going to be an IEnumerable.Edit:
If you want to explicitly mutate your given list:
but at that point just use
Insert(0, 0)
更新:更好的主意,将“AppendDataBoundItems”属性设置为 true,然后以声明方式声明“Choose item”。 数据绑定操作将添加到静态声明的项目中。
http://msdn.microsoft.com /en-us/library/system.web.ui.webcontrols.listcontrol.appenddatabounditems.aspx
-Oisin
Update: a better idea, set the "AppendDataBoundItems" property to true, then declare the "Choose item" declaratively. The databinding operation will add to the statically declared item.
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listcontrol.appenddatabounditems.aspx
-Oisin
使用
List
的Insert方法:Use Insert method of
List<T>
:使用
List.Insert
虽然与您的具体示例无关,但如果性能很重要,还可以考虑使用要求将所有项目移过去。 请参阅何时应使用列表与链接列表。
LinkedList
因为将项目插入到 < 的开头code>ListUse
List<T>.Insert
While not relevant to your specific example, if performance is important also consider using
LinkedList<T>
because inserting an item to the start of aList<T>
requires all items to be moved over. See When should I use a List vs a LinkedList.