search
HomeWeb Front-endJS TutorialHow to use jQuery to achieve the folding and stretching effect of ASP.NET GridView_jquery

There is a requirement when making a static page today, that is, there is a set of radio buttons with two options and a list of 6 rows on the page (the list is implemented with the Table tag, not DIV). When the option of the radio button is selected For a moment, the first three pieces of information in the list are displayed and the last three pieces of information are hidden. When option 2 of the radio button is selected, the first three pieces of information in the list are hidden and the last three pieces of information are displayed. So that brings us to today’s topic, how to achieve it? After implementation, what other scenarios can this implementation be applied to?

1. First response solution

After encountering this requirement, my first reaction was that it was very simple. Use two DIVs to wrap the TR tags in the first three Tables and the last three TR tags, and then control the display of the DIVs through JS.

Step one: Use DIV wrapping to hide the displayed TR. The code is as follows:

<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> 

Step 2: Use JS to control the display of DIV to achieve the effect of hiding or showing rows:

$("#divName").style.display = "none";
$("#divSex").style.display = "block";
Step 3: Run the program, you will find that it doesn’t work at all, haha, it feels a bit like being fooled~! Because the TR tag can only be used with the TABLE tag! Ok, although the above code doesn’t work! But it still plays a guiding role. Failure is a success!

2. Recommended panel solution

This is after I described that DIV and TR cannot be used together, and I was laughed at by my colleagues. Hey, it seems that I need to learn more about HTML in the future. After laughing at me, my colleague Dong Ning told me to wrap TR with PANEL control. , use the Visible attribute to control the output of TR at the server level.

Step one: Use the PANEL control to wrap the TR tag used to show or hide. The code is as follows:

<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> 

Step 2: Use the Visible property of the Panel control on the server side to control the output of the rows. The code is as follows:

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; 
 } 
} 

Although there is nothing wrong with this method, it still feels too nonsensical, right? Should the code that controls page display also be done on the server side? What a waste of performance! Moreover, putting the page control code and the logical interaction code together is simply confusing. When this method was rejected, our hero Comrade Wai Wai appeared on the stage and said that I have to admire Comrade Wai Wai. As a project manager, Wai Wai Weird, my coding skills are even better than those of a programmer. No code prompts are needed at all. Just manual keyboard typing and clear thinking solve the problem perfectly!

3. Nonsensical solution

So, let’s look at this idea. First, assign a class style to each TR tag. However, this style is not implemented. It only obtains the identifier of the TR.

Step one: Add an unimplemented class style to the TR tag. The code is as follows:

<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> 

Step 2: Use Jquery to get the TR element based on class and control its hiding or display. The code is as follows:

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; 
} 

Step 3: Run, there is no problem at all, this problem is solved!

4. Implement Lenovo’s application scenarios according to the third solution

Now that we can control the display and hiding of TR in TABLE, we can think of the data part of the ASP.NET GridView control that is output to the browser after binding data, and is also displayed in the form of TR, so we can Can you control the display and hiding of GridView content? Of course no problem.

Step one: How to add class attributes to GridView data rows? We can use the GridView's row style () to set it. The code is as follows:

<asp:GridView ID="GridView1" runat="server"> 
<RowStyle CssClass="test" /> 
</asp:GridView> 

At this point, when we run the page and view the source code output by the page, we will see that all TRs in the GridView data part have been given a class="test" attribute!

Step 2: Bind data, the code is as follows:

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(); 
  } 
 } 

Step 3: Add a button to control the display or hiding of GridView data. The code is as follows:

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

Step 4: Implement the JS method to control display and hiding. The code is as follows:

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, that’s it for introducing the reasons, characters, inspirations, and the entire cause and effect of realizing this function. Programming is not only about realizing functions, but also integrating into life.

The above four methods are closely connected and related to each other. I hope everyone can taste them carefully, ponder them carefully, truly make them your own, and apply them to your studies.

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
JavaScript in Action: Real-World Examples and ProjectsJavaScript in Action: Real-World Examples and ProjectsApr 19, 2025 am 12:13 AM

JavaScript's application in the real world includes front-end and back-end development. 1) Display front-end applications by building a TODO list application, involving DOM operations and event processing. 2) Build RESTfulAPI through Node.js and Express to demonstrate back-end applications.

JavaScript and the Web: Core Functionality and Use CasesJavaScript and the Web: Core Functionality and Use CasesApr 18, 2025 am 12:19 AM

The main uses of JavaScript in web development include client interaction, form verification and asynchronous communication. 1) Dynamic content update and user interaction through DOM operations; 2) Client verification is carried out before the user submits data to improve the user experience; 3) Refreshless communication with the server is achieved through AJAX technology.

Understanding the JavaScript Engine: Implementation DetailsUnderstanding the JavaScript Engine: Implementation DetailsApr 17, 2025 am 12:05 AM

Understanding how JavaScript engine works internally is important to developers because it helps write more efficient code and understand performance bottlenecks and optimization strategies. 1) The engine's workflow includes three stages: parsing, compiling and execution; 2) During the execution process, the engine will perform dynamic optimization, such as inline cache and hidden classes; 3) Best practices include avoiding global variables, optimizing loops, using const and lets, and avoiding excessive use of closures.

Python vs. JavaScript: The Learning Curve and Ease of UsePython vs. JavaScript: The Learning Curve and Ease of UseApr 16, 2025 am 12:12 AM

Python is more suitable for beginners, with a smooth learning curve and concise syntax; JavaScript is suitable for front-end development, with a steep learning curve and flexible syntax. 1. Python syntax is intuitive and suitable for data science and back-end development. 2. JavaScript is flexible and widely used in front-end and server-side programming.

Python vs. JavaScript: Community, Libraries, and ResourcesPython vs. JavaScript: Community, Libraries, and ResourcesApr 15, 2025 am 12:16 AM

Python and JavaScript have their own advantages and disadvantages in terms of community, libraries and resources. 1) The Python community is friendly and suitable for beginners, but the front-end development resources are not as rich as JavaScript. 2) Python is powerful in data science and machine learning libraries, while JavaScript is better in front-end development libraries and frameworks. 3) Both have rich learning resources, but Python is suitable for starting with official documents, while JavaScript is better with MDNWebDocs. The choice should be based on project needs and personal interests.

From C/C   to JavaScript: How It All WorksFrom C/C to JavaScript: How It All WorksApr 14, 2025 am 12:05 AM

The shift from C/C to JavaScript requires adapting to dynamic typing, garbage collection and asynchronous programming. 1) C/C is a statically typed language that requires manual memory management, while JavaScript is dynamically typed and garbage collection is automatically processed. 2) C/C needs to be compiled into machine code, while JavaScript is an interpreted language. 3) JavaScript introduces concepts such as closures, prototype chains and Promise, which enhances flexibility and asynchronous programming capabilities.

JavaScript Engines: Comparing ImplementationsJavaScript Engines: Comparing ImplementationsApr 13, 2025 am 12:05 AM

Different JavaScript engines have different effects when parsing and executing JavaScript code, because the implementation principles and optimization strategies of each engine differ. 1. Lexical analysis: convert source code into lexical unit. 2. Grammar analysis: Generate an abstract syntax tree. 3. Optimization and compilation: Generate machine code through the JIT compiler. 4. Execute: Run the machine code. V8 engine optimizes through instant compilation and hidden class, SpiderMonkey uses a type inference system, resulting in different performance performance on the same code.

Beyond the Browser: JavaScript in the Real WorldBeyond the Browser: JavaScript in the Real WorldApr 12, 2025 am 12:06 AM

JavaScript's applications in the real world include server-side programming, mobile application development and Internet of Things control: 1. Server-side programming is realized through Node.js, suitable for high concurrent request processing. 2. Mobile application development is carried out through ReactNative and supports cross-platform deployment. 3. Used for IoT device control through Johnny-Five library, suitable for hardware interaction.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment