我有一个包含类别列表的gridview。在数据库(MSSQL2008)中,类别表具有SortOrder(INT)NULL字段。
目前使用以下方式检索类别:
Galleries.DataSource = From G In DB.GalleryCategories Order By G.SortOrder, G.Name
现在,我需要做的是在每行添加“Move Up”和“Move Down”按钮,以允许用户以任意方式对项目进行排序。
我最初的想法是: 识别所选项目的ID。 识别所选项目之前/之后的项目ID。 在DB SortOrders中交换已识别的项目。
然后我会让sortorder NOT NULL并确保它被初始化为唯一的数字
我很感激有关此方法的任何其他建议/意见
非常感谢
答案 0 :(得分:2)
我一般都看到过这样做,并且自己完成了
这一切都非常简单,因为在其他地方插入一些东西只是:
list.Add( New Item(..., target.SortOrder +1) )
list.NormalizeSort()
// or
item.SortOrder += 11, etc
如果你想让它成为一个小数,那么你可以将它全部按顺序排列,只需将.1等添加到排序顺序并再次重新标准化。
//安德鲁
答案 1 :(得分:0)
我相信 Galleries.AllowSorting = true; 足够了;)