2016-03-18 11 views
2

私はrichtextboxとgridviewを持っています。richtextboxに大量のデータを入力したときにread moreオプションを表示

データをリッチテキストボックスに入力すると、データはグリッドビューに表示され、データベースに保存されます。

私の要件は、段落や大量のデータを入力する場合は、「readmore」ボタンを表示する必要があります。このボタンをクリックすると、完全なデータが表示されます。

<%@ 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#は

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

これは、SQLサーバーに関連していない、我々はデータを保存することができますどのように – FLICKER

答えて

0

あなたの選択クエリの最初のテキスト(表RichTextBoxDataのプライマリキー)のIDを追加し し、GridViewの中でそれを作る、目に見えるS =この

ような偽のコード -
 <asp:TemplateField HeaderText="id" InsertVisible="False" Visible="False"> 

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

、その後

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); 


      } 

     } 
    } 

とmydetails.aspxのPage_Loadの上のidは= [「ID」を]場合、Request.QueryStringどこRichTextDataを選択するように クエリを作る

+0

タグを適切に使用してくださいユーザーが選択したフォルダにリッチテキストボックスに入力されたときに、そのデータをクリックすると、ユーザーが選択したフォルダにデータを保存する必要があります。 –

関連する問題