|
|
Actually i am stucked at place where i need to put up the generated crystal report in the message body and then mail to the specific email id but i am not been able to put the report in body i had goooogled a lov=t but no idea
If possible please do help me out CODE will be appreciated...
please don't suggest to convert to pdf and another format and attach to the mail i want to put it inside mail body only..
thanks..
|
|
|
|
|
narendra ingale wrote: If possible please do help me out CODE will be appreciated...
*sigh* ... read the guidelines, please.
To answer your question, I don't think there 's a way to inline a report in mail directly. However you could convert it to html and use the html code inside an html mail. IOW don't add as attachment, but inline.
eg.
exported html Report
<html>
<head><!--</head>
<body><!--</body>
</html>
Strip out everything not needed like html, head, body tags. Then in your email html code add the stripped report html and voila, a nice inline report.
Some things to consider:
- Styling (css)
- Use an email template with an placeholder to put your inline report
- html content is not completely downloaded by default in many mail clients, often the user needs to manually tell the client to show the complete mail.
- I think this could become complex when using subreports eg.
This might not be the answer you like, but on top of my head, it's the only option to avoid attachments.
V.
|
|
|
|
|
When would I use stringbuilder over just string? I just read about it in a book but it doesn't explain why you would use it.
|
|
|
|
|
I would say when you are concatenating a number of strings use a stringbuilder. If it's just a case of concatenating first name and surname of a person object, a stringbuilder would be an overkill.
|
|
|
|
|
In .NET, string class is immutable. Simply put, it means that you cannot modify a string after it's creation. So, for example
string someString = "Hello";
someString += " World"; The program will not add World to the existing string. Instead, it will create a new string object "Hello World" and assigns this to someString and discards the earlier object "Hello" . So, this may not be a big issue if we are dealing with only a few strings. But, if we want to deal with several string operations, then StringBuilder is a good option. As explained here http://msdn.microsoft.com/en-us/library/y9sxk6fy.aspx[^]
This class represents a string-like object whose value is a mutable sequence of characters. The value is said to be mutable because it can be modified once it has been created by appending, removing, replacing, or inserting characters.
And after making all the modifications ToString method of StringBuilder can be used to get the final string.
I think this Code Project article
StringBuilder vs. String, Fast String Operations with .NET 2.0[^]
may be helpful.
modified 17-Apr-12 11:46am.
|
|
|
|
|
Thank you. After reading that it kind of reminds me of how I used buffers in C.
|
|
|
|
|
|
|
Nice one By Abhinav 5+ thanks for info.
|
|
|
|
|
John Skeet has written about this[^]
This is an excellent introduction to this topic. I once scored brownie points in a Job Interview for referring to this stuff when asked why I didn't use StringBuilder in a simple one-time concatenation during a programming test. The interviewer didn't beleive me at first, but a quick test showed similar results to the article.
|
|
|
|
|
|
Hi,
I have defined a custom action for a library to ask for the approver's Name, Title and email-id for a document. This data entered should be taken programmatically to create a digital signature and add this signature inside the document.After this the document should be disabled from editing once signed(just like inserting a signature for a word document, but should be done programmatically). Can somebody post full working code for a sharepoint Visual studio 2010 project for this?
I have googled for the code but none are aiming at my request.
Much Thanks,
Nisha
|
|
|
|
|
Hi All
I am trying to find a way to optimise the below code for my web service
In my webservice i recieve 10 different XML files, each xml file is always the same format, at the moment i have 10 different methods to handle each one, the below code is an example of one of the methods.
The only difference between the methods are the local variables and the node attributes.
Instead of having 10 methods almost identical i would like to have just one.
Can anyone advise on the best way to achieve this ?
thanks
public void NavigateXmlSessionData(XPathNavigator xPathNav)
{
xPathNav.MoveToRoot();
xPathNav.MoveToFirstChild();
xPathNav.MoveToFirstChild();
string description, personId;
description = "";
personId = "";
do
{
if (xPathNav.MoveToFirstChild())
{
while (xPathNav.MoveToNext())
{
switch (xPathNav.Name)
{
#region NodeAttributes
case "Description":
{
StringBuilder strBuild = new StringBuilder(xPathNav.Value, 200);
description = strBuild.Replace('\'', ' ').ToString();
break;
}
case "PersonId":
{
StringBuilder strBuild = new StringBuilder(xPathNav.Value, 200);
personId = strBuild.Replace('\'', ' ').ToString();
break;
}
#endregion
}
}
xPathNav.MoveToParent();
}
ProcessRecord();
description = "";
personId = "";
} while (xPathNav.MoveToNext());
}
|
|
|
|
|
|
Not an answer to your question but if you want to optimize reading XML, use the XMLReader class. It streams the data so you don't have to wait for the whole file to be read and you don't have to wait for indexing to be completed.
Having 1 method instead of 10 isn't going to offer much in the way of optimization but it will make the code more maintainable. Just isolate the minor differences and pass them as arguments or enumerated values.
public void NavigateXmlSessionData(XPathNavigator xPathNav, MyEnum difference)
"You get that on the big jobs."
|
|
|
|
|
Hi all !
in my project to reading an excel file , there is no problem in windows XP , but in Win Seven(7) , I have problem to reading the excel 2007 file . here in some part of code :
string connectionString = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 12.0;HDR=YES;IMEX=1;""", openFileDlgData.FileName);
string SheetName = "Test";
string query = String.Format(@"select * from [{0}$]", SheetName);
try
{
OleDbConnection conn = new OleDbConnection(connectionString);
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(query, conn);
System.Data.DataTable dt = new System.Data.DataTable("ExcelData");
dataAdapter.Fill(dt);
...
Thanks in any help !
|
|
|
|
|
What problem do you have? That's the important part that's missing from your question.
|
|
|
|
|
System.InvalidOpertionException:The 'Microsoft.ACE.OLEDB.12.0' provider
|
|
|
|
|
32 or 64 bit?
Why is common sense not common?
Never argue with an idiot. They will drag you down to their level where they are an expert.
Sometimes it takes a lot of work to be lazy
Please stand in front of my pistol, smile and wait for the flash - JSOP 2012
|
|
|
|
|
|
nassimnastaran wrote:
64 bit
That is probably your problem.
Why is common sense not common?
Never argue with an idiot. They will drag you down to their level where they are an expert.
Sometimes it takes a lot of work to be lazy
Please stand in front of my pistol, smile and wait for the flash - JSOP 2012
|
|
|
|
|
It's either not installed, or you're mixing environments. Read here[^].
Bastard Programmer from Hell
|
|
|
|
|
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(Name = "TestService", ConformsTo = WsiProfiles.BasicProfile1_1)]
public class WebService : System.Web.Services.WebService {
// Add a member variable of the type deriving from SoapHeader.
public MyHeader timeStamp;
[WebMethod(Description = "A method that requires authentication")]
[SoapDocumentMethod(Binding = "TestService")]
[SoapHeaderAttribute("timeStamp", Direction = SoapHeaderDirection.InOut)]
public XmlNode GetXML()
{ XmlDocument doc = new XmlDocument();
doc.LoadXml("" + "" +"<title>Pride And Prejudice</title>" +"" + "");
return doc; }
=---client call ----
protected void Page_Load(object sender, EventArgs e)
{
localhost.MyHeader header = new localhost.MyHeader();
header.UserName = "test";
header.Password = "test";
localhost.WebService proxy = new localhost.WebService();
proxy.MyHeaderValue = header;
XmlDocument xmlDoc = new XmlDocument();
XmlNode elem = proxy.GetXML();
XmlNodeReader nodeReader = new XmlNodeReader(elem);
xmlDoc.InnerXml = elem.InnerXml;
string strXML = xmlDoc.InnerXml;
}
---output is---
<title>Pride And Prejudice</title>
----how to add soap header like----
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<MyHeader xmlns="http://tempuri.org/">
<UserName>string</UserName>
<Password>string</Password>
</MyHeader>
</soap:Header>
|
|
|
|
|
As you have already been told, cross posting is not allowed. Please stop doing it.
|
|
|
|