December 30,2005
[ASP.Net]以Pull模式連結Crystal Report
大致上三個部份:
一、ADO.Net連結DataSet:
1.根據要規劃的rpt需求欄位設計一個「空」的DataSet存放設設規格,可透過「加入新項目」→「資料」→「資料集」 建立 xsd檔。
2.取得合適的Table後,若所用到的rpt欄位牽涉兩個以上表格,須自行加入欄位→「加入」→「新增element」,並且設定一致的資料格式(integer, string, DateTime)。
二、編輯*.rpt檔案,設定資料來源為「ADO.NET資料集」→「所建立的*.xsd檔」。
三、ASP.NET的aspx檔案建立CrystalReportViewer,透過ReportDocument連結xsd,並以Pull方式Dump資料給預訂的xsd檔案。
*.aspx.cs
所須命名空間:
using System.Data.SqlClient;
using CrystalDecisions.Shared;
using CrystalDecisions.Web;
using CrystalDecisions.CrystalReports.Engine;
程式碼:
void FillCrystalReport()
{
SqlConnection conn = new SqlConnection(Config.getInstance().DBConnectionString);
DataSet ds = new DataSet()
try
{
conn.Open();
string sql = " "; //查詢字串
SqlDataAdapter da = new SqlDataAdapter(sql,conn);
da.Fill(ds,"crYear");
ReportDocument rptDoc = new ReportDocument();
rptDoc.Load(Server.MapPath("實體路徑")+"/*.rpt 檔名");
rptDoc.SetDataSource(ds.Tables["crYear"]); //設定ReportDocument之DataSource是
crv.ReportSource=rptDoc; //建立之Cystal Report Viewer ID為crv
}
catch(Exception exp)
{
Response.Write(exp.Message);
}
finally
{
conn.Close();
ds.Dispose();
}
}
容後補齊。(這句話通常沒有意義......囧)
December 26,2005
[橋牌]一客蝦排飯
北家:♠ Q J 10 9 6 3
♥ 7
◈A 10
♣ A Q 6 3 叫牌過程(身價:南北)
N E S W
南家:♠ K 8 7 5 1S 2D X 3D
♥ K 9 5 4 3 - - 3S -
◈J 5 4S All Pass
♣ 9 2
呼........又是超久沒打牌,前幾天上Acer打了一副牌,回味起橋牌樂趣的建立緣起…瞎牌!小的坐在北家,如同叫牌過程中,在同伴叫出3S的叫品後,毅然決然閉起自己眼睛把4S給簽下去,首攻小黑桃敲王,夢家牌攤開之後.... 囧rz..... 就叫牌過程東家插叫推論,這個合約共有四個失磴:黑桃x1 紅心x1 方塊x1 梅花x1
在西家黑桃A吃住再回黑桃後,可以開始思考要怎麼瞎了~實在找不到回家的路....規劃大致上有兩個路線:
1. 打交互王吃,桌下吃住偷梅花,希望東家沒來得及還出方塊。此時可以往桌下送小紅心,一路王吃建立第五張紅心贏磴(紅心四三好分配),拋手中方塊失張。
2. 手上吃住,趕緊往桌下射一張小紅花,保祐東家失神忘了跳A;如果東家跳A回方塊,因為方塊有A J 10,還可以站A吃住再回方塊給東家傷腦筋,這時候再用「怨念」拜託東家幫我還梅花。
兩條路線都很瞎,最後我選擇的是路線2,一客蝦排飯到口就是這麼香味四溢啊~!:P
HemiDemi? A kind of blog for bookmark
HemiDemi功能非常齊全,像是一個以Linking 為主的「Blog」,倒不像是共享書籤,因為我覺得bookmark是以「摘取書籤」的簡要形式為主(又要推一下del.icio.us了)。對我而言,每個連結所佔的版面似乎太多了,所以希望開發團隊能新增「版面設定」的部份。讓使用者有更多彈性去設定自己所要顯示的訊息量。(例:引述是否顯示)
此外,AJAX的介面用得淋離盡致,非常吸引人的友善介面;不過小弟會把它定位成一種For Bookmakring的Blog,而不是純粹bookmark的知識管理工具,Simple is Beauty:)
簡言之做得非常用心,激推!!對於一堆直接把別人文章複製貼上到自己網站的小白,請直接向HemiDemi櫃台申請一個帳號,節省時間又不惹人非議,謝謝光臨。
PS:今天的del.icio.us戴了一頂耶誕帽,Merry Christmas to my friends!December 20,2005
鹿港,上演最多故事的地方
星期天拜訪鹿港一遭,暨上次探訪的驚喜-陳錦煌手工蒸籠之後又有了新發現。在馳名的龍山寺、天后官、九曲巷之外,鹿港上演最多故事的地方,卻是各個角落裡克服著環境艱苦,活生生市井中的甘草人物。
悠晃在龍天寺旁的三民路,不經意又瞥見「老龍師肉包」對面懸著的黃色小招牌,上頭寫著「鹿港名產,遵古法製」的各項產品,木門掩蓋著的幽暗空間,透進去的一絲光線映射出----它,是覆蓋著層層故事的小店,小弟的第六感豈是個準字了得,我意圖剷開被覆蓋著的故事,於是拉開生硬的木門。裡頭的老闆是一位年逾七十的婦人(許壁還 女士),背後的故事不想於此贅言,卻讓筆者在聊完後感觸到一些生命的質地,我想在這發出聲音,使她的手藝讓更多人知道。
事實上這是一家賣什麼的店我也搞不清楚(堆滿了壽金),總地說來是呈現許女士手藝的表演空間。裡頭有傳統竹編紙繪的「夫人亭」-夫人亭是七夕情人節那天會用到的東西(Google找不到,只好亂寫~ 囧rz...),據說因為七娘媽(織女)是兒童的保護神,所以在七夕當天,滿16歲的少年要燒夫人亭進行成年禮,比較特別的一點是除了七夕之外,鹿港當地的傳統習俗中,結婚當天也要燒「夫人亭」,雖然這項習俗也已漸漸消失,據許女士指出,鹿港有在作「夫人亭」的店家已剩下蓼蓼兩、三家,且因為成本過高的緣故,以竹編作為骨幹材料的夫人亭幾不復見,許女士也自詡所製作的夫人亭在鹿港當地是獨樹一幟。
門口掛著黃招牌能看到的也只有食物,許女士說道她所製作的蝦丸子、蝦卷的食材,都是親自到菜市場挑選的鮮蝦,再親手一隻隻地撥殼,挑出蝦肉後、敲打成泥之後、@%@$#......(偷錄的錄音檔沒錄清楚),算是非常地真材實料;筆者自己就買了蝦球和肉丸子回家,老媽親手作的羊肉麵線再給它加上蝦球、肉丸子~嘖嘖!沒錯~是嘖嘖稱奇的「嘖嘖」,也是一口咬下的瞬間、唇齒發出的讚嘆!我以我的玻璃胃掛保證,真的讚、好厲害,蝦丸沒加防毒劑、吃得安心又得意~許壁還女士還透露出她的蝦球是經過改良的Version 2.0,在Version 1.0當中蝦球是看不見蝦子的,有鑒於現代人喜歡看到蝦子才像真的吃到蝦球,所以Version 2.0的蝦球並未完全敲打成泥,還殘留一點鮮蝦的肉實(編按:她真的只有小學畢業嗎?MBA學的東西不外如是…這叫作客製化(Custormization)唷,小朋友是不是又上了一課啊?)另外的一個妙點是許女士非常虔誠,一個月之中有幾天是吃齋的(初一15之類的),而在這幾天中不會碰觸葷食的製作,碰巧在吃齋的那幾天前往恐怕要空手而回。
台灣的各個角落,多少人選擇勇敢面對著自己的未來,各自承受著生活中的辛苦與幸福,揹負著她與它的故事。
店家資訊
振榮行
住址:鹿港鎮龍山里三民路81號
電話:047-783716
後記:溜斗說這篇文章先頭想走人文氣息,後來卻變BBS文章,是篇搞笑文 囧rz......
December 19,2005
[ASP.Net]連結Crystal Report
Import CrystalDecisions.CrystalReports.Engine ( for ReportDocument物件)
CrystalDecisions.Shared ( for TableLogOnInfo 物件 )
code behind
using CrystalDecisions.Web;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
private void Page_Load(object sender, System.EventArgs e)
{
ReportDocument crReport = new ReportDocument();
Config.CrystalReportConnection(ref crReport,"CrystalReport1.rpt");
//第二個參數是Crystal Report報表檔名
crvReport.ReportSource=crReport; //crvReport is Crystal Report Viewer's ID
}
Config.cs
public static void CrystalReportConnection(ref CrystalDecisions.CrystalReports.Engine.ReportDocument crReport, string CrystalReportFileName)
{
crReport.Load(System.Web.HttpContext.Current.Server.MapPath(Config.getInstance().crystalReport_FileRoot) +"/"+ CrystalReportFileName);
//設定 *.rpt 檔案來源
//下述設定連結內容
TableLogOnInfo crLogOnInfo = new TableLogOnInfo();
foreach (CrystalDecisions.CrystalReports.Engine.Table crTable in crReport.Database.Tables)
{
crLogOnInfo = crTable.LogOnInfo;
crLogOnInfo.ConnectionInfo.ServerName="server ip";
crLogOnInfo.ConnectionInfo.UserID="id";
crLogOnInfo.ConnectionInfo.Password="pwd";
crLogOnInfo.ConnectionInfo.DatabaseName="DB_name";
crTable.ApplyLogOnInfo(crLogOnInfo);
}
//上述設定連結內容
}
December 17,2005
試用 HemiDemi 共享書籤
December 11,2005
December 9,2005
雲南美景
搬到台北之後,和高中同學向一個老美二房東租了房子,這個老美實在蠻妙的,十月的時候,自己一個人就這麼跑去雲南(大理、香格里拉)去騎了兩個禮拜的腳踏車…囧rz 前天他和我們分享在雲南拍的照片時我問了老美:「去了一趟雲南,你會不會想過去那邊住住看?」老美說:「在台灣教英文實在很無趣,如果明年沒申請到台灣的MBA繼續學中文,我就要搬去昆明住了…」
囧rz......西方的價值觀真的和東方人totally不一樣,似乎西方人特別注重對自己的生命、生活負責,儘可能只做自己想做的事,不會在意「錢」的問題;反倒普遍東方人就很在意儲蓄的美德,多了這一層顧忌卻也讓自己少了許多勇往直前的行動力。
第一張照片還真有點東方的希臘愛琴海,沒來由地喜歡滇藏,我的心或許也遺留在東方愛琴海嚕。 畢業之後,我也要去一遭。 :)
December 5,2005
[ASP.Net]DataSet新增資料(DataRow)並透過xml格式儲存讀寫
寫
try
{
//建立儲存選取之mailing List DataSet
DataSet ds = new DataSet();
ds.Tables.Add("CHECKED"); //新增CHECKED資料表至DATASET ds之中
ds.Tables["CHECKED"].Columns.Add("STU_ID"); //新增欄位STU_ID至DATASET ds之中
ds.Tables["CHECKED"].Columns.Add("STU_NAME");
ds.Tables["CHECKED"].Columns.Add("CMP_NAME");
ds.Tables["CHECKED"].Columns.Add("EMAIL");
for(int i = 0; i<dgEmail.Items.Count; i++)
{
HtmlInputCheckBox app_no = (HtmlInputCheckBox)dgEmail.Items[i].FindControl("chkSTU_ID");
if(app_no.Checked)
{
System.Data.DataRow row = ds.Tables["CHECKED"].NewRow();
row["STU_ID"]=dgEmail.Items[i].Cells[6].Text; //由dgEmail這個DataGrid新增學生編號
row["STU_NAME"]=dgEmail.Items[i].Cells[0].Text;
row["CMP_NAME"]=dgEmail.Items[i].Cells[1].Text;
row["EMAIL"]=dgEmail.Items[i].Cells[4].Text;
ds.Tables["CHECKED"].Rows.Add(row);
}
}
//將建立之mailing List DataSet的資料寫入 mailList.xml 檔案
ds.WriteXml(Server.MapPath(Config.Document.Training_Education)+ "/mailList.xml",XmlWriteMode.WriteSchema);
ds.Dispose();
}
catch(Exception ex)
{
Response.Write(ex.Message);
}
讀
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath(Config.Document.Training_Education)+"/mailList.xml");
[kuso]抗議天王柯賜海競選歌曲
口白: (轉貼自PTT_SHARE)
我是阿海啊
社會亂到不行
改革需要你努力
對的起來吧
抗議抗議抗議抗議抗議抗議抗議抗議抗議抗議抗議抗議抗議抗議抗議 我抗議
Rap:
不管你講的美不美 都怕那上流美
不管你看不看的透 都會去買樂透
不管你三教或九流 我們都怕那土石流
不管你五湖或四海 大家都愛柯賜海
我是抗議天王柯賜海 這個抗議有些精采
帶流浪狗街頭擺擂台 把公平正義的魂 勾回來
不畏大家的期待...掃蕩社會的腐敗
三尺以上有神明 三尺後面有舉牌揭發壞人的惡行
給阿海一個公平的待遇 讓國會抗議更有效率
我不是在那起檔起笑 抗議需要柯董得那種酷酷調(調)
給阿海一個公平的待遇 讓國會抗議更有效率
請按時給我領那場寶貴的選票 再給我一個微笑加以掌聲尖叫
口白:
喔~工瞎咪人生海海 選縣長沒當青青菜菜
選穩丟郎不只是三年一拜 心情雞掰秀抖頭殼壞
所有耶不爽都交給我阿海 壞人怕我怕到挫賽
拜託大家來支持 抗議天王 柯賜海
其實還蠻好聽的..... 囧rz....







加入您FireFox我的最愛。



