comment définir des lignes individuelles marquées comme non déplaçables et / ou non utilisables?

J’utilise le plugin jquery draggable dans mon application asp.net MVC 3, où l’utilisateur peut faire glisser / déposer une ligne d’un tableau.

Mon exigence est que je dois marquer certaines lignes de la table comme non déplaçables et / ou non susceptibles de tomber (afin que les autres lignes ne puissent pas y être déposées).

Est-ce que quelqu’un peut me guider comment activer ceci?

Note: une option que je vois sur le web est “plugin TableDnD”.

Y-a t’il une autre possibilité. Quelqu’un pourrait-il me guider avec du code?

JQUERY UI SECTION DRAGGABLE & DROPPABLE

cette question est posée assez souvent pour que je réponde

voir http://jsfiddle.net/mouseoctopus/d7wsz/6/ EDIT update: http://jsfiddle.net/mouseoctopus/gkp3D/

Je l’ai fait vraiment joli dans le violon HTML

Note: Row 4 is disabled 

Table 1

Row 1
Row 2
Row 3
Row 4
Row 5

Table 2

Row 6
Row 7
Row 8
Row 9
Row 10

et JQuery (doit également inclure jquery ui lib et css)

  $("#Table1 tr:not(.disabled), #Table2 tr:not(.disabled)").draggable({ helper: 'clone', revert: 'invalid', start: function (event, ui) { $(this).css('opacity', '.5'); }, stop: function (event, ui) { $(this).css('opacity', '1'); } }); $("#Table1, #Table2").droppable({ drop: function (event, ui) { $(ui.draggable).appendTo(this); alert($(ui.draggable).text()); //fire ajax here if needed } }); 

et quelques css

 table{ width:200px; border: brown 1px solid; padding:5px;} table tr {background-color:#FCF6CF;} table tr:hover:not(.disabled) {background-color:#ECF1EF;} tr:not(.disabled){cursor:pointer;} tr.disabled{background-color:#FEE0C6; cursor:not-allowed;} 

SECTION MVC3 PERTINENTE

Pour faire quelque chose comme ceci dans mvc3, vous devez remplir les tables en utilisant une boucle foreach à partir de vos éléments de modèle de vue, c.-à-d.

  @{ foreach(var item in Model.Table1.Items){  }} 
@Model.Table1.RowText

Pour prendre en charge cet exemple, vous auriez un ViewModel avec des objects MyTable personnalisés.

 public class MyTable{ public List RowText {get;set;} public ssortingng Name {get;set;} } 

et votre viewmodel ressemblerait à quelque chose comme

 public class MyViewModel{ public MyTable Table1{get;set;} public MyTable Table2{get;set;} //and it would also include the properties for other elements on the page too }