2013-12-18 50 views
0

我試圖在GridView行添加一個數據綁定文本框:如何AUTOSIZE在GridView中排在文本框ASP.NET

<ItemTemplate > 
<asp:TextBox ID="TextBox" runat="server" Visible="true" Enabled="true" 
       Wrap="true" text='<%#Eval("Notes")%>' TextMode="MultiLine" > 
    </asp:TextBox>     
</ItemTemplate> 

我無法弄清楚如何使文本框自動調整到在GridView行

回答

1

如果你想知道的內容的高度,您可以在一個簡單的公式依賴於文本的字體大小多行文本框的高度。 enter code here實施例(數量並不真實)。 如果80個字符,線消耗的寬度和20像素的高度400像素,160個字符的線的寬度,但是在40點高度總是400像素消耗。 所以,在文本框的高度屬性,你可以寫

身高= '<%(EVAL( 「意見」)。長度/ 80)* 20%>'

<asp:TextBox TextMode="multiLine" Width="400" Text='<%#Eval("field_name") %>' 
    Height='<%# Eval("field_name").ToString().Length*2%>' `enter code here` 
    ID="TextBox1" runat="server"></asp:TextBox> 
+0

謝謝!非常棒! – deadEddie

-1

你可以做Java腳本太

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>Automatic Resize TextBox</title> 
<script type="text/javascript"> 
function setHeight(txtdesc) { 
txtdesc.style.height = txtdesc.scrollHeight + "px"; 
} 
</script> 
</head> 
<body> 
<form id="form1" runat="server"> 
<asp:TextBox ID="txtDesc" runat= "server" TextMode="MultiLine" onkeyup="setHeight(this);" onkeydown="setHeight(this);" /> 
</form> 
</body> 
</html>