2016-03-18 4 views
2

Ich habe eine Richtextbox und eine Gridview.Anzeige mehr lesen Option, wenn Benutzer große Datenmenge in richttextbox eingibt

Wenn ich die Daten in die Richtextbox eingebe, sollte sie in einer Gridview angezeigt und in der Datenbank gespeichert werden.

Jetzt ist meine Anforderung, dass, wenn ich einen Absatz oder eine große Menge von Daten eintrage, ich eine "readmore" -Schaltfläche anzeigen sollte, die beim Anklicken die vollständigen Daten anzeigt.

<%@ Register Assembly="FreeTextBox" Namespace="FreeTextBoxControls" TagPrefix="FTB" %> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head runat="server"> 
    <title>Richtextbox Sample</title> 
    <script type="text/javascript"> 
     function validate() { 
      var doc = document.getElementById('FreeTextBox1'); 
      if (doc.value.length == 0) { 
       alert('Please Enter data in Richtextbox'); 
       return false; 
      } 
     } 
     </script> 
    </head> 
    <body> 
     <form id="form1" runat="server"> 
      <div> 
       <table> 
        <tr> 
         <td> 
          <FTB:FreeTextBox ID="FreeTextBox1" runat="server"> 
          </FTB:FreeTextBox> 
         </td> 
         <td valign="top"> 
          <asp:GridView runat="server" ID="gvdetails" AutoGenerateColumns="false"> 
           <Columns> 
            <asp:TemplateField HeaderText="RichtextBoxData"> 
             <ItemTemplate> 
              <asp:Label ID="lbltxt" runat="server" Text='<%#Bind("RichtextData") %>'/> 
             </ItemTemplate> 
            </asp:TemplateField> 
           </Columns> 
          </asp:GridView> 
         </td> 
        </tr> 
       </table> 
      </div> 

      <asp:Button ID="btnSubmit" runat="server" OnClientClick="return validate()" 
      Text="Submit" onclick="btnSubmit_Click" /> 
      <br /> 
      <asp:Label ID="lbltxt" runat="server"/> 

     </form> 
    </body> 
</html> 

C# code-

SqlConnection con = new SqlConnection("Data Source=SureshDasari;Integrated Security=true;Initial Catalog=MySampleDB"); 

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
     BindGridview(); 
} 

protected void BindGridview() 
{ 
    con.Open(); 
    SqlCommand cmd = new SqlCommand("select RichTextData from RichTextBoxData", con); 
    SqlDataAdapter da = new SqlDataAdapter(cmd); 
    DataSet ds = new DataSet(); 
    da.Fill(ds); 
    gvdetails.DataSource = ds; 
    gvdetails.DataBind(); 
} 

protected void btnSubmit_Click(object sender, EventArgs e) 
{ 
    con.Open(); 
    SqlCommand cmd = new SqlCommand("insert into RichTextBoxData(RichTextData) values(@Richtextbox)", con); 
    cmd.Parameters.AddWithValue("@Richtextbox", FreeTextBox1.Text); 
    cmd.ExecuteNonQuery(); 
    con.Close(); 
    FreeTextBox1.Text = ""; 
    BindGridview(); 
} 
+1

Dieser nicht auf SQL-Server bezogen, bitte Tags – FLICKER

Antwort

0

zuerst in Ihrer SELECT-Abfrage-ID Ihres Textes (Primärschlüssel der Tabelle RichTextBoxData) in und in gridview es machen, s sichtbar = false wie diese

 <asp:TemplateField HeaderText="id" InsertVisible="False" Visible="False"> 

     <ItemTemplate> 
    <asp:Label ID="Label2" runat="server" Text='<%# Bind("id") %>'></asp:Label> 
       </ItemTemplate> 
      </asp:TemplateField> 

und dann

protected void gvdetails_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     if (e.Row.RowType == DataControlRowType.DataRow) 
     { 


      Label lb =e.Row.FindControl("lbltxt") as Label; 

      if (lb.Text.Length > 15)//any length u want 
      { 

       DataRow drv = ((DataRowView)e.Row.DataItem).Row; 

       int tempID = Convert.ToInt32(drv["id"].ToString()); 

       HyperLink hp = new HyperLink(); 
       hp.Text = "read more"; 
       hp.NavigateUrl = "~/mydetails.aspx?id=" + tempID; 
       e.Row.Cells[1].Controls.Add(hp); 
       lb.Text = lb.Text.Substring(0, 15); 


      } 

     } 
    } 

und auf page_load von mydetails.aspx machen Abfrage RichTextData auszuwählen, in dem id = request.querystring [ „id“]

+0

richtig verwenden Wie können wir die Daten speichern in die richtextbox in den Ordner eingetragen, der vom Benutzer ausgewählt wurde, wenn ich auf Speichern klicke, sollten die Daten in dem vom Benutzer ausgewählten Ordner gespeichert werden. –

Verwandte Themen