1

助けが必要です。

私のグリッドビュー (SQLDataSource にバインド) では、アイテム テンプレートにラベル (lblDI) があり、編集アイテム テンプレートにテキスト ボックス (tbEditDI) があります。

 <asp:GridView ID="gvDiscussItem" runat="server" AutoGenerateColumns="False" BackColor="White" BorderColor="Black" BorderStyle="Double" BorderWidth="1px" 
CellPadding="2" DataKeyNames="discussionID" DataSourceID="SQLDiscussItems" 
ForeColor="Black" ShowHeaderWhenEmpty="True" 
style="font-size: small" Width="600px" >
<Columns>
<ItemTemplate>
<asp:Label ID="lblDI" runat="server" Text='<%# Bind("discussionItem") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="tbEditDI" runat="server" Text='<%# Bind("discussionItem") %>' 
TextMode="MultiLine" onkeyup="SettingEditHeightDI(this);"></asp:TextBox>
</EditItemTemplate>
</asp:GridView>

ラベル(lblDI)を複数行にしてデータを表示し、テキストボックス(tbEditDI)をページの読み込み時にすべてのテキストに合わせるにはどうすればよいですか?

参照用に使用できるこれらのコードを使用して、ラベルを複数行にするのに役立ち、テキストボックスをページロードのサイズに合わせることができますが、現在は機能していません。ラベルに関しては、ラベルは aspx.cs ページで使用され、テキスト ボックスのコントロールは、javascript を介してロード時に自動サイズ変更されます。

// to auto resize the textbox on pageload automatically using javascript
  document.getElementById("<%=tbAgenda.ClientID%>").style.height = document.getElementById("<%=tbAgenda.ClientID%>").scrollHeight + "px";

// to display multiline label in the aspx.cs page
 lblAgenda.Text = recentMinute.Agenda.Replace("\n", "<br/>"); // displays multilines textbox texts in a multiline label. For retrieval from database

私を助けてください、私はこの学術プロジェクトで大きな問題を抱えています. :'(

4

2 に答える 2

0
Try this 

For TextBox Control

Textbox EditTextBox = (TextBox)gvDiscussItem.FindControl("tbEditDI");

For Label Control

Label EditTextBox = (Label)gvDiscussItem.FindControl("lblDI");
于 2012-07-28T17:37:16.863 に答える
0

このサーバー側コードは、グリッドビューの RowDataBound イベントに追加できます。何かのようなもの:

public void gvDiscussItem_RowDataBound(Object sender, GridViewRowEventArgs e)
{

    if(e.Row.RowType == DataControlRowType.DataRow)
    {
      // find your control...
      var lblDI = e.Row.FindControl("lblDI") as Label;
      if (lblDI != null)
      { 
         //fill the label and add the break-lines.
         lblDI.Text = DataBinder.Eval(Container.DataItem, "discussionItem").ToString().Replace("\n","<br />");
      }

    }
}
于 2012-07-13T12:02:00.467 に答える