PDA

View Full Version : سوال: مشکل در آدرس دهی فایل کریستال ریپورت



reza4359
چهارشنبه 09 فروردین 1391, 18:55 عصر
سلام دوستان من آدرس فایل کریستال ریپورت رو بهاین صورت دادم حالا خطا میده که آدرس درست نیست
string repPath = Server.MapPath(@"\\CrystalReport1.rpt");
اینم کل کدهام
SqlDataAdapter SQLAdapter = new SqlDataAdapter("SELECT * FROM tb", SQLCon);
DataSet dataset = new DataSet();
SQLAdapter.Fill(dataset, "tb");

ConnectionInfo connectionInfo = new ConnectionInfo();
ReportDocument RepDoc = new ReportDocument();
connectionInfo.ServerName = ".";
connectionInfo.DatabaseName = "slide";

string repPath = Server.MapPath(@"\\CrystalReport1.rpt");

RepDoc.Load(repPath);
RepDoc.SetDataSource(dataset);

CrystalReportViewer1.ReportSource = RepDoc;
مشکل از کجاست؟

fakhravari
چهارشنبه 09 فروردین 1391, 19:19 عصر
http://barnamenevis.org/showthread.php?333925-%D8%A7%D9%85%DA%A9%D8%A7%D9%86-%DA%AF%D8%B2%D8%A7%D8%B1%D8%B4-%D8%A7%D8%B2-%D8%A7%D8%AE%D8%A8%D8%A7%D8%B1-%D8%B3%D8%A7%DB%8C%D8%AA&p=1472843&viewfull=1#post1472843

reza4359
چهارشنبه 09 فروردین 1391, 19:54 عصر
خیلی ممنون آقای فخر آوری من واسه وصل شدن به بانک یوزر و پسورد تعریف نکردم و از مجوز ویندوز استفاده میکنم حالا وقتی میرم به صفحه گزارشگیری داخل وبم این صفحه ظاهر میشه؟

باید چه کار کرد؟
من وقتی فیلد هامو از بانک که واسه گزارش داخل dataset قرار دارند داخل CrystalReport.rpt میریزم داخل CrystalReportViewer نمایش داده نمیشه و فقط قسمت هدر کریستال رو نمایش میده چرا؟
ممنون
84844

fakhravari
چهارشنبه 09 فروردین 1391, 22:01 عصر
اره منم خودم به این بر خوردم .
توی یه مقاله خوندم باید در وجوزها sql server یوزر سیستم بدی.
اما خودمم پیدا نکردم.
اگر به صورت دستی بایند کنید دیگر اون کادر نمیاد

reza4359
چهارشنبه 09 فروردین 1391, 22:59 عصر
ممنون
چطوری به صورت دستی بایند کنم؟
چون من اصلا موقع نصب sql server یوز و پسورد براش تعریف نکردم و از مجوز ویندوز استفاده کردم
خیلی بهش نیاز دارم

fakhravari
چهارشنبه 09 فروردین 1391, 23:41 عصر
لینک پست 2 شماره 7.
والا نمیدونم چطوری باید این مجوز sql درست کنی. توی بخش کریستال ریپورت سوال گذاشتن کسی جواب نداد.

reza4359
پنج شنبه 10 فروردین 1391, 00:35 صبح
دوستان اگه کسی راهی سراغ داره راهنمایی کنه
یا اینکه اگه این نشد بگید چطوری از گرید ویو پرینت بگیرم با همون قالب گرید
یعنی استایلی رو هم که برای گرید ویو تنظیم کردیم پرینت بگیره (مثل یک فرم)

hesamsalehnamadi
پنج شنبه 10 فروردین 1391, 03:01 صبح
1) صفحه aspx


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">

function printSelection(node) {
var content = node.innerHTML
var pwin = window.open('', 'print_content', 'width=100,height=100');
pwin.document.open();
pwin.document.write('<html><body onload="window.print()">' + content + '</body></html>');
pwin.document.close();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
<asp:Button ID="Button1" runat="server" Text="Print" onclick="Button1_Click" />
</div>
</form>
</body>
</html>




2) codebehind صفحه شما



using System.Data.SqlClient;
using System.Data;
using System.Text;
using System.IO;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("کانکشن استرینگ شما");
SqlCommand cmd = new SqlCommand("کوئری شما", con);
con.Open();
PagedDataSource pagedDS = new PagedDataSource();
DataTable dt = new DataTable("_T");
dt.Load(cmd.ExecuteReader());
pagedDS.DataSource = dt.DefaultView;
GridView1.DataSource = pagedDS;
GridView1.DataBind();
con.Close();
}
protected void Button1_Click(object sender, EventArgs e)
{
//پرینت گرید ویو
System.Web.UI.HtmlControls.HtmlGenericControl dynDiv =
new System.Web.UI.HtmlControls.HtmlGenericControl("DIV");
dynDiv.ID = "printdiv";
dynDiv.Style.Add(HtmlTextWriterStyle.BackgroundCol or, "Gray");
dynDiv.Style.Add(HtmlTextWriterStyle.Height, "400px");
dynDiv.Style.Add(HtmlTextWriterStyle.Width, "600px");
dynDiv.InnerHtml = getHTML(GridView1);
this.Controls.Add(dynDiv);
}

private string getHTML(GridView gv)
{
// tabdile gridview be html
StringBuilder sb = new StringBuilder();
StringWriter textwriter = new StringWriter(sb);
HtmlTextWriter htmlwriter = new HtmlTextWriter(textwriter);
gv.RenderControl(htmlwriter);
htmlwriter.Flush();
textwriter.Flush();
htmlwriter.Dispose();
textwriter.Dispose();
return sb.ToString();
}
public override void VerifyRenderingInServerForm(System.Web.UI.Control control)
{
return;
}

}



موفق باشی رفیق :)

reza4359
پنج شنبه 10 فروردین 1391, 13:34 عصر
دوست عزیز ممنون از لطفتون حالا اگه بخوام این گرید ویو که به حالت چاپ درمیاد رو در یک صفحه دیگه نمایش بده و یک دستور چاپ هم صادر بشه باید چکار کنم؟

hesamsalehnamadi
پنج شنبه 10 فروردین 1391, 16:03 عصر
متوجه منظورتون نشدم ؟؟ میخوای اول پیش نمایش بدی بعد چاپ کنی؟؟؟

reza4359
پنج شنبه 10 فروردین 1391, 17:01 عصر
متوجه منظورتون نشدم ؟؟ میخوای اول پیش نمایش بدی بعد چاپ کنی؟؟؟
میخوام وقتی کلیک میکنم گرید رو داخل یک صفحه دیگه و در وسط قرار بده و با لود صفحه یک دستور چاپ صادر بشه
چون الان وقتی با این کدها گرید رو نمایش میدم اونو پایین همون صفحه و در قسمت سمت راست صفحه نمایش میده و جای اون در صفحه مناسب نیست
ممنون

fakhravari
پنج شنبه 10 فروردین 1391, 18:56 عصر
سلام
hesamsalehnamadi نمونه سمپل ندارید

reza4359
پنج شنبه 10 فروردین 1391, 20:38 عصر
دوستان راهی برای اون قبلی پیدا نکردم و بالاخره مجبور شدم از print window جاوااسکریپت استفاده کنم
حالا وقتی از گرید ویو پرینت میگیرم جهت مطالب رو به هم میریزه و از چپ به راست نمایش میده باید چه کار کنم؟
اینم کد جاوااسکریپت
<script type="text/javascript">
<!--
function printPartOfPage(elementId) {
var printContent = document.getElementById(elementId);
var windowUrl = 'about<b></b>:blank';
var uniqueName = new Date();
var windowName = 'Print' + uniqueName.getTime();
var printWindow = window.open(windowUrl, windowName, 'left=50000,top=50000,width=0,height=0');

printWindow.document.write(printContent.innerHTML) ;
printWindow.document.close();

printWindow.focus();
printWindow.print();
printWindow.close();
}
// -->
</script>

hesamsalehnamadi
جمعه 11 فروردین 1391, 19:24 عصر
سلام
hesamsalehnamadi نمونه سمپل ندارید
چرا دارم بفرمائید
http://up98.org/upload/server1/02/g/...m6ymsl1k6t.rar

fakhravari
جمعه 11 فروردین 1391, 20:03 عصر
چرا دارم بفرمائید
http://up98.org/upload/server1/02/g/...m6ymsl1k6t.rar
Not Found :شیطان: