Heim  >  Artikel  >  Web-Frontend  >  So erzielen Sie mit jQuery den Falt- und Streckeffekt von ASP.NET GridView_jquery

So erzielen Sie mit jQuery den Falt- und Streckeffekt von ASP.NET GridView_jquery

WBOY
WBOYOriginal
2016-05-16 15:38:041263Durchsuche

Heutzutage gibt es beim Erstellen einer statischen Seite eine Anforderung, das heißt, es gibt eine Reihe von Optionsfeldern mit zwei Optionen und eine Liste mit 6 Zeilen auf der Seite (die Liste wird mit dem Table-Tag implementiert, nicht mit DIV). Wenn die Option des Optionsfelds ausgewählt ist, werden für einen Moment die ersten drei Informationen in der Liste angezeigt und die letzten drei Informationen werden ausgeblendet. Wenn Option 2 des Optionsfelds ausgewählt wird, werden die ersten drei Informationen angezeigt Die Einträge in der Liste werden ausgeblendet und die letzten drei Informationen werden angezeigt. Das bringt uns zum heutigen Thema: Wie erreicht man das? Auf welche anderen Szenarien kann diese Implementierung nach der Implementierung angewendet werden?

1. First-Response-Lösung

Nachdem ich auf diese Anforderung gestoßen war, war meine erste Reaktion, dass es sehr einfach sei, zwei DIVs zu verwenden, um die TR-Tags in die ersten drei Tabellen und die letzten drei TR-Tags einzuschließen und dann die Anzeige der DIVs über JS zu steuern.

Schritt eins: Verwenden Sie DIV-Umbruch, um den angezeigten TR auszublenden. Der Code lautet wie folgt:

<table> 
<div id="divName"> 
<tr> 
<td>姓名:</td> 
<td><input id="txtname" type="text" /></td> 
</tr> 
</div> 
<div id="divSex"> 
<tr> 
<td>年龄:</td> 
<td><input id="txtsex" type="text" /></td> 
</tr> 
</div> 
</table> 

Schritt 2: Verwenden Sie JS, um die Anzeige von DIV zu steuern, um den Effekt des Ausblendens oder Anzeigens von Zeilen zu erzielen:

$("#divName").style.display = "none"; $("#divSex").style.display = "block"
Schritt 3: Führen Sie das Programm aus, Sie werden feststellen, dass es überhaupt nicht funktioniert, haha, es fühlt sich ein bisschen an, als würde man sich täuschen~! Denn das TR-Tag kann nur mit dem TABLE-Tag verwendet werden! Ok, obwohl der obige Code nicht funktioniert! Aber es spielt immer noch eine leitende Rolle. Scheitern ist ein Erfolg!

2. Empfohlene Panel-Lösung

Dies geschah, nachdem ich beschrieben hatte, dass DIV und TR nicht zusammen verwendet werden können, und ich wurde von meinen Kollegen ausgelacht. Hey, es scheint, dass ich in Zukunft mehr über HTML lernen muss, nachdem ich mich ausgelacht habe Ning sagte mir, ich solle TR mit PANEL control umschließen und das Visible-Attribut verwenden, um die Ausgabe von TR auf Serverebene zu steuern.

Schritt eins: Verwenden Sie das PANEL-Steuerelement, um das TR-Tag zu umschließen, das zum Ein- oder Ausblenden verwendet wird. Der Code lautet wie folgt:

<table> 
<asp:Panel ID="plName" runat="server"> 
<tr> 
<td>姓名:</td> 
<td><input id="txtname" type="text" /></td> 
</tr> 
</asp:Panel> 
<asp:Panel ID="plSex" runat="server" > 
<tr> 
<td>年龄:</td> 
<td><input id="txtsex" type="text" /></asp:Panel></td> 
</tr> 
</asp:Panel> 
</table> 

Schritt 2: Verwenden Sie die Visible-Eigenschaft des Panel-Steuerelements auf der Serverseite, um die Ausgabe der Zeilen zu steuern. Der Code lautet wie folgt:

protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
 string val = RadioButtonList1.SelectedValue; 
 switch (val) 
 { 
  case "Name": 
   plName.Visible = true; 
   plSex.Visible = false; 
   break; 
  case "Sex": 
   plName.Visible = false; 
   plSex.Visible = true; 
   break; 
  default: 
   plName.Visible = true; 
   plSex.Visible = true; 
   break; 
 } 
} 
Obwohl an dieser Methode nichts auszusetzen ist, fühlt sie sich dennoch zu unsinnig an, oder? Sollte der Code, der die Seitenanzeige steuert, auch auf der Serverseite erfolgen? Was für eine Leistungsverschwendung! Darüber hinaus ist das Zusammenfügen des Seitensteuerungscodes und des logischen Interaktionscodes einfach verwirrend. Als diese Methode abgelehnt wurde, erschien unser Held Genosse Wai Wai und sagte, dass ich Genosse Wai Wai als Projektmanager bewundern müsse Seltsam, meine Programmierfähigkeiten sind sogar besser als die eines Programmierers. Es sind lediglich manuelle Tastatureingaben und klares Denken erforderlich, um das Problem perfekt zu lösen.

3. Unsinnige Lösung

Schauen wir uns also zunächst diese Idee an. Weisen Sie jedem TR-Tag einen Klassenstil zu. Dieser Stil wird jedoch nicht implementiert.

Schritt eins: Fügen Sie dem TR-Tag einen nicht implementierten Klassenstil hinzu. Der Code lautet wie folgt:

<table id="MyList"> 
<tr class="NameCSS"> 
<td>姓名:</td> 
<td><input id="txtname" type="text" /></td> 
</tr> 
<tr class="SexCss"> 
<td>年龄:</td> 
<td><input id="txtsex" type="text" /></td> 
</tr> 
</table> 

Schritt 2: Verwenden Sie Jquery, um das TR-Element basierend auf der Klasse abzurufen und dessen Ausblenden oder Anzeigen zu steuern. Der Code lautet wie folgt:

var $rowsName = $("#MyList").find(".NameCSS"); 
var $rowsSex = $("#MyList").find(".SexCss"); 
switch (selectedValue) 
{ 
 case "Name": 
 $rowsSex.hide(); 
 $rowsName.show(); 
 break; 
 case "Sex": 
 $rowsSex.show(); 
 $rowsName.hide(); 
 break; 
} 

Schritt 3: Ausführen, es gibt überhaupt kein Problem, dieses Problem ist gelöst!

4. Implementieren Sie die Anwendungsszenarien von Lenovo gemäß der dritten Lösung

Da wir nun das Anzeigen und Ausblenden von TR in TABLE steuern können, können wir uns den Datenteil des ASP.NET GridView-Steuerelements vorstellen, der nach der Datenbindung an den Browser ausgegeben und auch in Form von TR angezeigt wird , damit wir das Anzeigen und Ausblenden von GridView-Inhalten steuern können? Natürlich kein Problem.

Schritt eins: Wie füge ich Klassenattribute zu GridView-Datenzeilen hinzu? Wir können den Zeilenstil von GridView (f50f03442bb3e0983f8047985ff16a7f) verwenden, um ihn festzulegen. Der Code lautet wie folgt:

<asp:GridView ID="GridView1" runat="server"> 
<RowStyle CssClass="test" /> 
</asp:GridView> 
Wenn wir an diesem Punkt die Seite ausführen und den von der Seite ausgegebenen Quellcode anzeigen, werden wir sehen, dass allen TRs im GridView-Datenteil ein class="test"-Attribut zugewiesen wurde!

Schritt 2: Daten binden, der Code lautet wie folgt:

if (!IsPostBack) 
  { 
   List<Student> sList = new List<Student>() 
   { 
    new Student(){ SID = "s001", SName="张三", SSex="男"}, 
    new Student(){ SID = "s002", SName="李四", SSex="女"}, 
    new Student(){ SID = "s003", SName="王五", SSex="男"} 
   }; 
 
   GridView1.DataSource = sList; 
   GridView1.DataBind(); 
  } 
 } 

Schritt 3: Fügen Sie eine Schaltfläche hinzu, um die Anzeige oder das Ausblenden von GridView-Daten zu steuern. Der Code lautet wie folgt:

<input id="btn" type="button" value="隐藏" onclick="ShowDate()" /> 

Schritt 4: Implementieren Sie die JS-Methode, um das Anzeigen und Ausblenden zu steuern. Der Code lautet wie folgt:

function ShowDate() { 
   var val = $("#btn").val(); 
   var $rows = $("#GridView1").find(".test"); 
   switch (val) { 
    case "隐藏": 
     $rows.hide(); 
     $("#btn").val("显示"); 
     break; 
    case "显示": 
     $rows.show(); 
     $("#btn").val("隐藏"); 
     break; 
   } 
  } 
Haha, das war's, um die Gründe, Charaktere, Inspirationen und die gesamte Ursache und Wirkung der Verwirklichung dieser Funktion vorzustellen. Beim Programmieren geht es nicht nur um die Realisierung von Funktionen, sondern auch um die Integration in das Leben.

Die oben genannten vier Methoden sind eng miteinander verbunden und miteinander verbunden. Ich hoffe, dass jeder sie sorgfältig probieren, sorgfältig darüber nachdenken, sie sich wirklich zu eigen machen und sie auf sein Studium anwenden kann.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn