2016-09-28 4 views
0

Я просто изучаю Asp.Net & VB, поэтому, пожалуйста, будьте осторожны :-) Код был написан для меня, который отображает поток сообщений. Он показывает сообщения от самого старого наверху, который недавно получил внизу, где находится окно ответа. Есть ли способ, который я могу добавить к этому коду, чтобы он автоматически прокручивался вниз до нити при открытии потока? Большое спасибо за любую помощь ...Авто Выделите нижнюю часть текстового поля?

 <div style="width:78%; float:right; overflow:auto; height:500px;" id="messagesWindow"> 
      <asp:SqlDataSource ID="DSSelectMessages" runat="server" 
       ConnectionString="<%$ ConnectionStrings:DBConnectionString %>" 
       SelectCommand="SelectMessages" SelectCommandType="StoredProcedure"> 
       <SelectParameters> 
       </SelectParameters> 
      </asp:SqlDataSource> 
      <asp:Literal ID="Literal1" runat="server"></asp:Literal> 

      <asp:HiddenField ID="hdnButtonFrom" runat="server" /> 
      <div style="font-size:1.3em"> 
       <asp:GridView ID="gdvMessages" runat="server" CssClass="mGrid" AutoGenerateColumns="False" DataKeyNames="messageID" ShowHeader="False" ShowFooter="True"> 
        <Columns> 
         <asp:TemplateField> 
          <ItemTemplate> 
           <asp:Label ID="lblContactFrom" runat="server" Text='<%# Eval("contactFrom") %>'></asp:Label> 
          </ItemTemplate> 
         </asp:TemplateField> 
         <asp:TemplateField> 
          <ItemTemplate> 
           <asp:Label ID="lblDateSent" runat="server"></asp:Label> 
          </ItemTemplate> 
         </asp:TemplateField> 
         <asp:TemplateField> 
          <ItemTemplate> 
           <asp:Label ID="lblItem" runat="server" Text='<%# Eval("item") %>'></asp:Label> 
           <asp:HyperLink ID="hypItem" Visible="false" runat="server" CssClass="nyroModalMsg" NavigateUrl='<%# "~/Account/itemSold.aspx?br=messageList&fileID=" & Eval("fileID") %>'>Mark as Sold</asp:HyperLink> 
          </ItemTemplate> 
         </asp:TemplateField> 
         <asp:TemplateField ShowHeader="False" SortExpression="messageText"> 
          <EditItemTemplate> 
           <asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("messageText") %>'></asp:TextBox> 
          </EditItemTemplate> 
          <FooterTemplate> 
           <asp:TextBox ID="txtMessage" runat="server" TextMode="MultiLine" Rows="5" Columns="32" MaxLength="2000"></asp:TextBox> 
           <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="<br />Add Reply" CssClass="error" ValidationGroup="msgSubmit" ControlToValidate="txtMessage"></asp:RequiredFieldValidator> 
           <br /> 
           <asp:Button ID="btnSend" runat="server" Text="Reply" onclick="btnSend_Click" ValidationGroup="msgSubmit" /> 
          </FooterTemplate> 
          <ItemTemplate> 
           <asp:Label ID="Label1" runat="server" Text='<%# Eval("messageText") %>'></asp:Label> 
          </ItemTemplate> 
         </asp:TemplateField> 
        </Columns> 
       </asp:GridView>    
      </div> 
     </div> 

ответ

0

Try

Textbox1.SelectionStart = Textbox1.Text.Length - 1 
Textbox1.ScrollToCaret() 
+0

Этот ответ был в очереди сообщений низкого качества из-за его длины и отсутствие текста, кроме кода. Почти всегда лучше объяснять, как код помогает пользователю. См. [Ответ]. –

+0

@soohoonigan Привет, спасибо. Я просто помещаю это в код VB, как у вас есть? – Eggybread

+0

Да, это должно сработать. Из кода, который вы отправили, похоже, что ваш messageText входит в Textbox1, поэтому вы должны иметь возможность в основном копировать/вставлять его, вы бы хотели добавить код выше в свой код сразу после заполнения текстового поля. После того, как текстовое поле будет заполнено, код выше поместит курсор в конец текста, а затем прокрутит текстовое поле к нему. – soohoonigan

Смежные вопросы