Ich habe eine Gridview-Spalte, die eine große Menge an Text vom Server erhält. Anstatt den gesamten Text nach dem Laden des Gitters anzuzeigen, möchte ich ihn nur anzeigen, wenn ein Benutzer auf einen Expand-Link klickt und ihn dann mit einem Minimierungslink schließt. Hier ist was ich habe. Bitte beachten Sie, dass ich bereits weiß, dass ich beide Javascript-Funktionen in einem einfügen kann; Ich teste gerade jetzt in zwei separaten Funktionen.div-Tag anzeigen/ausblenden Javascript
<script type="text/javascript" language="javascript" >
function hidelink() {
var col = $get('col');
var exp = $get('exp');
col.style.display = 'none';
exp.style.display = '';
}
function showlink(){
var col = $get('col');
var exp = $get('exp');
col.style.display = '';
exp.style.display = 'none';
}
<asp:GridView ID="GridView2" Width="400px" runat="server" AutoGenerateColumns="False"
AllowPaging ="True"
BackColor="White" BorderColor="#999999"
BorderStyle="None" BorderWidth="1px"
CellPadding="3" DataKeyNames="APPID"
DataSourceID="SqlDataSource3"
PagerSettings-Mode="NextPreviousFirstLast" EnableSortingAndPagingCallbacks="True">
<PagerSettings Mode="NextPreviousFirstLast" />
<RowStyle BackColor="#EEEEEE" ForeColor="Black" />
<Columns>
<asp:BoundField DataField="stuff" HeaderText="Name" ReadOnly="True"
SortExpression="app" />
<asp:BoundField DataField="Description" HeaderText="Short Descr"
ReadOnly="True" SortExpression="des" />
<asp:TemplateField HeaderText="Long Descr" SortExpression="data">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("data") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<div id="col">
<asp:LinkButton ID="expand" runat="server" OnClientClick ="hidelink();return false;">Expand</asp:LinkButton>
</div>
<div id="exp" style="display:none">
<asp:LinkButton ID="collapse" runat="server" OnClientClick ="showlink();return false;">Collapse</asp:LinkButton>
</div>
<asp:Panel ID="Panel1" runat="server" >
<table>
<tr>
<td> <%#Eval("LongDescription")%>
</td>
</tr>
</table>
Mein Problem ist, dass nur der erste Datensatz alles tut es sollte. (expand/collapse), aber die anderen Zeilen werden nur erweitert und verstecken den Expand-Link im div-Tag nicht. Es wird nur die ID der ersten Zeile gefunden, da die Erweiterungszeile in der ersten Zeile geändert wird, wenn die Maximierungsschaltfläche auf eine andere Zeile trifft. Wie kann ich das beheben?
Wie mache ich das in Javascript – Eric
Dies scheint nur für die erste Zeile auch funktionieren. – Eric
Willst du mein Panel entfernen, das ich benutze? – Eric