導航:首頁 > 源碼編譯 > reportviewer源碼

reportviewer源碼

發布時間:2022-05-01 07:16:13

A. C# reportViewer動態綁定

this.ReportViewer1.Visible = true;
//這里是放參數,報表的參數,沒有就不要這些

ReportParameter[] reportparams = new ReportParameter[2];
reportparams[0] = new ReportParameter("areaid", ucQueryCondition1.GetAreaId()); 這里是放參數,報表的參數,沒有就不要這些
reportparams[1] = new ReportParameter("noteid", ucQueryCondition1.GetNoteId());
this.ReportViewer1.ServerReport.SetParameters(reportparams);
然後給報表控制項+ reportpath就可以了

B. C# Winform滿分求源碼示例[EXCEL模版套版列印],帶預覽。

雖然您明說了不要第三方控制項,但還是要忍不住向您推薦一個!
名叫Grid++Report,支持多種編程語言!支持Web、WinForm!例子代碼基本直接復制就用!現在的版本是5.8,列印只是預覽時才有免費水印,不影響列印。

PS:用了她3年,就當為她做個廣告!

另外,對於Excel,公司協議不能直接給您上代碼,但編程經驗可以分享下:
通過在Excel中定義操作參數,例如"@@cName"表示「單據頭某單元格的值」應該替換為表頭上"cName"列的值!$$HeadBegin、$$RowBegin表示單據頭、單據體的開始區域等,這樣的Excel套打也不難做。

C. 水晶報表的參數傳遞

你這樣試一下:
ParameterField Field = new ParameterField();
ParameterFields fields = new ParameterFields();
ParameterDiscreteValue Value = new ParameterDiscreteValue();
ParameterValues paramValues = new ParameterValues();
Value.Value = string.Format("{0:yyyy-MM-dd}", dtStarTime.Value) + "至" + string.Format("{0:yyyy-MM-dd}", dtEndTime.Value);
paramValues.Add(Value);
Field.ParameterFieldName = "StarEndTime";
Field.CurrentValues = paramValues;
Fields.Add(Field);
crystalReportViewer1.ParameterFieldInfo = fields;

下面是我的源碼
ParameterField paramField = new ParameterField();
ParameterFields paramFields = new ParameterFields();
ParameterValues paramValues = new ParameterValues();
ParameterDiscreteValue discreteValue = new ParameterDiscreteValue();

discreteValue.Value = "333";
paramValues.Add(discreteValue);
paramField.ParameterFieldName = "cs";
paramField.CurrentValues = paramValues;
paramFields.Add(paramField);
paramField.AllowCustomValues = false;
crystalReportViewer1.ParameterFieldInfo = paramFields;

D. C# winform水晶報表調存儲過程和傳參例子

第一步:添加一個dataset組件,然後拖放一個dataadpter,根據提示選擇現有存儲過程,保存
第二布:新建一個水晶報表文件,根據報表向導創建選擇顯示的欄位和布局(注意:選擇ado.net下的數據集)
第三布:將工程文件夾下有一個xxx.rpt的文件,復制其路徑,
第四步:載入xxx.rpt文件,如下形式:
ReportDocument report = new ReportDocument();//創建文檔對象
report.Load(path);//載入報表->path是rpt文件的路徑
SqlConnection connection = new SqlConnection(ApplicationAssist.ConnectionString)
connection.Open();
DataSet ds= new DataSet();
SqlDataAdapter sqlDA = new SqlDataAdapter();
//調用存儲過程獲得數據集
SqlCommand command = new SqlCommand(storedProcName, connection);
command.CommandType = CommandType.StoredProcere;
command.Parameters.AddRange(parameters);--這個是存儲過程的參數賦值,網上有
sqlDA.Fill(ds, "tableName");

connection.Close();
report.SetDataSource(ds.Tables[0]);//設置報表的數據源->ds是你在程序中查詢出來的dataset集合,注意這里的存儲過程要與你的報表所指定的過程對應哦!
if (ht != null)--這里是外部參數賦值,按需要而定,跟資料庫欄位無關
{
foreach (DictionaryEntry de in ht)
{
report.SetParameterValue(de.Key.ToString(), de.Value);
}
}

CRV.ReportSource = report;//顯示報表

E. 如何向WebForm下的ReportViewer傳遞身份憑證

上回說到WebForm下的ReportViewer控制項不能直接傳入身份憑證,因為其ServerReport.ReportServerCredentials.NetworkCredentials屬性是只讀的。
在騷擾了N個.NET MVP後,終於知道有一個介面叫IReportServerCredentials,誒,我怎麼把這茬忘了呢。報表服務中定製化身份驗證方式的就靠它了。
既然是介面,那麼我們就要先利用這個介面創建一個類,然後類中實現這個介面的成員。IReportServerCredentials介面主要是兩個成員屬性(ImpersonateUser和NetworkCredentials)和一個成員方法(GetFormCredentials)。
ImpersonateUser在我們這兒沒什麼多大用處,哈,所以直接return null。NetworkCredentials就是我們需要返回的,所以return new NetworkCredential(_username, _password, _domain)。
那麼_username、_password、_domain哪兒來的呢,類裡面放三個Private的變數,然後通過類的初始化方法傳進去就行了啊。
這樣就搞定了阿。下面是類的源代碼和調用類的源代碼:
/********************************************************************************
MyReportViewerCredential類
********************************************************************************/
using System;
using System.Net;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Microsoft.Reporting.WebForms;
using System.Web.SessionState;
using System.Security.Principal;
public class ReportViewerCredentials
{
public class MyReportViewerCredential : IReportServerCredentials
{
private string _username;
private string _password;
private string _domain;
public Uri ReportServerUrl;
public MyReportViewerCredential(string username, string password, string domain)
{
_username = username;
_password = password;
_domain = domain;
}
public WindowsIdentity ImpersonationUser
{
get
{
return null;
}
}

public System.Net.ICredentials NetworkCredentials
{
get
{
return new NetworkCredential(_username, _password, _domain);
}
}

public bool GetFormsCredentials(out Cookie authCookie,
out string user, out string password, out string authority)
{
authCookie = null;
user = _username;
password = _password;
authority = _domain;
return false;
}
}
}
/********************************************************************************
調用MyReportViewerCredential類
********************************************************************************/
protected void TreeViewNavigator_SelectedNodeChanged(object sender, EventArgs e)
{
ReportViewerCredentials.MyReportViewerCredential rvc = new ReportViewerCredentials.MyReportViewerCredential
(Session["UserName"].ToString(), Session["Password"].ToString(), Session["Domain"].ToString());
ReportViewerMain.ServerReport.ReportServerCredentials = rvc;
ReportViewerMain.ServerReport.ReportPath = TreeViewNavigator.SelectedNode.Value.ToString();
}

F. activereports主從表顯示(手動綁定數據)c#程序源碼

在報表中,有許多報表是主從表結構,比如訂單與訂單商品明細,訂單是一個表中的一條記錄,而分錄是另一個表
中的多條記錄,兩個表通過一個欄位關聯起來,這種報表可利用其分組功能實現,
1. 新建一個工程
2. 往FORM1中添加一個CrystalReportViewer控制項
3. 在服務噐資源管理器中連接到SQL SERVER 2000上的Northwind資料庫
4. 添加一個數據集Dataset1,將伺服器資源管理器中的Orders和 Order Details加入到數據集中。
5. 添加一個水晶報表,使用報表專家,在項目數據中選擇「ADO.NET數據集」,插入表Orders和 Order
Details,「鏈接」中是關聯欄位的鏈接,在「欄位」中選擇要顯示的主表和明細表的欄位,組中選擇分組依據為
Orders表OrdersID欄位,總計,圖表,選擇(可進行篩選),樣式(可設置報表標題),可自行設置。設置完後,
點擊完成。
6. 在報表設計器中調整需要顯示的欄位的位置、寬度等。
7. 在窗口中添加代碼。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
Dim oRpt As New CrystalReport1()
Dim dsdataSet As New Dataset1()
Dim CN As New Data.SqlClient.SqlConnection("data source=PMSERVER;initial
catalog=Northwind;user id=sa;password=sa")
CN.Open()
Dim daOrders As New Data.SqlClient.SqlDataAdapter("select * from orders", CN)
daOrders.Fill(dsdataSet, "orders")
Dim daDetails As New Data.SqlClient.SqlDataAdapter("select * from [Order Details]", CN)
daDetails.Fill(dsdataSet, "Order Details")
'使用「報表引擎」對象模型將填充的數據集,傳遞給報表
oRpt.SetDataSource(dsdataSet)
CrystalReportViewer1.ReportSource = oRpt
End Sub
形如上述情況,在查詢語句中加上條件orderID='....',查出來是不會出現多頁的,即使不加上條件也不會出現 上述描述的那樣。

G. 下面的C#代碼使用了gridview控制項,為什麼單擊編輯數據要 單擊兩次,為什麼單擊更新數據之後頁面任然處於編

我不當好人;只求你的分數;
1.如何讓我單擊編輯按鈕時,文本框裡面有數據,而不是想圖中那樣,單擊編輯 後什麼都要自己重新寫入(主要是想知道在gridview的那個事件中寫代碼)
答:要想某行點擊編輯之後文本框默認出現數據,必須在GirdView添加行綁定模板如:
<columns <asp:TemplateColumn >
<EditItemTemplate >
<asp:TextBox ID="txtName" runat ="server" Text ='<%#Eval("欄位名稱") % >'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>></columns>
而不是就一個單純的GridView
2.為什麼在頁面上要單擊編輯兩次後才能進入編輯狀態。
你使用了 AutoGenerateEditButton="True" 自帶的編輯按鈕,它的機制是相當於一個伺服器控制項,要起到回發的作用,解決的辦法就是在isposback底下寫上你的代碼 或者你不要用AutoGenerateEditButton="True" 直接在gridview裡面有一個編輯行的事件底下寫代碼也可以;不會出現點兩次
具體代碼:
GridView1.EditItemIndex = e.newindex; //此處e.newindex 這個e.後面是需要的行索引,具體單詞忘記寫了,你可以點出來看得到跟new有關的一個單詞
string tablename = "EmpPurse1";
DataSet data = new DataSet();
mysqlclass EmpPurse = new mysqlclass

(tablename);
data = EmpPurse.GetTable();
GridView1.DataSource = data.Tables

["t1"];
GridView1.DataBind();

3.為什麼編輯後單擊更新,雖然處理了數據,但頁面還是處於編輯狀態。
你在最後寫完更新代碼之後也要加上
GridView1.EditIndex = -1;
string tablename = "EmpPurse1";
DataSet data = new DataSet();
mysqlclass EmpPurse = new mysqlclass

(tablename);
data = EmpPurse.GetTable();
GridView1.DataSource = data.Tables

["t1"];
GridView1.DataBind();

祝你成功!

H. C# ReportViewer 報表問題

在源代碼上this.ReportViewer1. 看看點的時候,補助下拉列表中有沒有這個方法,或許你的版本更新,reset那個被取消了。

I. CrystalReportViewer按鈕圖片為什麼不顯示

有兩種可能:
1、檢查轄圖片所指向的路徑,如果指向的圖片路徑在IIS中沒有的. 那麼將安裝的crystal圖片路徑設置為相應的IIS指向路徑.
2、是不是你的水晶報表沒有注冊呢,沒有的話,就注冊下

J. VS2008調用水晶報表伺服器

右鍵點擊項目-》添加-》組件-》類別 選擇Reporting -》模板 選擇Crystal報表 點添加 就生成了一個WEB頁面的水晶報表 水晶報表功能強大,能滿足任何報表要求,具體操作有很多,如果不明白可以去CSDN論壇提問,或者到.net圖表區,那裡面基本上是關於Crystal Report的內容 。其中有個叫阿泰的給我映像比較深刻。

閱讀全文

與reportviewer源碼相關的資料

熱點內容
武漢理工大學伺服器ip地址 瀏覽:139
亞馬遜雲伺服器登錄 瀏覽:515
安卓手機如何進行文件處理 瀏覽:62
mysql執行系統命令 瀏覽:920
php支持curlhttps 瀏覽:134
新預演算法責任 瀏覽:434
伺服器如何處理5萬人同時在線 瀏覽:242
哈夫曼編碼數據壓縮 瀏覽:415
鎖定伺服器是什麼意思 瀏覽:375
場景檢測演算法 瀏覽:608
解壓手機軟體觸屏 瀏覽:339
方舟pv怎麼轉伺服器 瀏覽:100
數據挖掘中誤差值演算法函數 瀏覽:119
php開發套件 瀏覽:191
伺服器的spi板是什麼 瀏覽:897
解壓縮全能王中文密碼是什麼 瀏覽:80
javaftp伺服器上傳文件 瀏覽:104
演算法設計中文版pdf 瀏覽:82
視頻壓縮形式怎麼改 瀏覽:369
perl程序員 瀏覽:791