版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第5章第8節(jié)查詢統(tǒng)計(jì)董久敏本節(jié)學(xué)習(xí)要點(diǎn)1.供應(yīng)商交易記錄查詢。2.客戶交易記錄查詢。3.庫(kù)存查詢。4.采購(gòu)匯總查詢本節(jié)的任務(wù)目標(biāo)、知識(shí)要點(diǎn)
1.實(shí)現(xiàn)供應(yīng)商交易記錄查詢的設(shè)計(jì)。2.實(shí)現(xiàn)客戶交易記錄查詢的設(shè)計(jì)。3.實(shí)現(xiàn)庫(kù)存查詢的設(shè)計(jì)。4.實(shí)現(xiàn)采購(gòu)匯總查詢的設(shè)計(jì),任務(wù)目標(biāo)
1.SQL-Server內(nèi)聯(lián)查詢基礎(chǔ)知識(shí)。
2.C#中I/O操作的基礎(chǔ)知識(shí)。
3.C#中繪圖的基礎(chǔ)知識(shí)。知識(shí)要點(diǎn)任務(wù)1
—存儲(chǔ)過(guò)程的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字一、供應(yīng)商交易記錄查詢
用的窗體為:frmSupplierBusiReport.cs--功能:為供應(yīng)商交易記錄查詢界面中的交易記錄列表控件提供數(shù)據(jù)。數(shù)據(jù)需要從PurchaseMaster、Supplier、Product、PurchaseDetail這四個(gè)數(shù)據(jù)表中查詢:createprocprocSupplierBusinessRecord@fromDatevarchar(10),--查詢起始時(shí)間
@toDatevarchar(10),--查詢結(jié)束時(shí)間
@classFieldchar(1),--查詢類別0:按供應(yīng)商編號(hào)查詢--
1:按供應(yīng)商簡(jiǎn)稱查詢
@conditionvarchar(100)--查詢條件as任務(wù)1
—存儲(chǔ)過(guò)程的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字declare@queryByvarchar(20)if(@classField='0')--根據(jù)類別標(biāo)識(shí)更改查詢條件
set@queryBy='pm.SupplierID'elseset@queryBy='s.SupplierSimpleName'declare@sqlvarchar(800)
主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字set@sql='selecta.SupplierID,a.SupplierSimpleName,a.ProductName,a.Quantity,a.Amountfrom(selectSupplierID,SupplierSimpleName,pd.ProductID,ProductName,sum(PurchaseQuantity)asQuantity,sum(PurchaseAmount)asAmountfrom(selectPurchaseID,pm.SupplierID,SupplierSimpleNamefromPurchaseMasterpmjoinSuppliersonpm.SupplierID=s.SupplierIDwhere'+@queryBy+'like''%'+@condition+'%''andPurchaseDatebetween'''+@fromDate+'''and'''+@toDate+'''andpm.PurchaseProperty=1)aspsrjoinPurchaseDetailpdonpsr.PurchaseID=pd.PurchaseIDjoinProductponpd.ProductID=p.ProductIDgroupbypd.ProductID,ProductName,psr.SupplierID,psr.SupplierSimpleName)asaorderbyAmountdesc,Quantitydesc’exec(@sql)任務(wù)1
—存儲(chǔ)過(guò)程的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字說(shuō)明:1.最內(nèi)層子查詢,實(shí)現(xiàn)數(shù)據(jù)表PurchaseMaster與Supplier的內(nèi)連接。2.外層子查詢,實(shí)現(xiàn)將1.的查詢結(jié)果與數(shù)據(jù)表PurchaseDetail和Product的內(nèi)連接。3.最外層的查詢,從上述結(jié)果中,查詢需要的信息。任務(wù)1
—存儲(chǔ)過(guò)程的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字
以下代碼請(qǐng)參見文件DataAccessLayer\SupplierBusiReportDAO.cs一、供應(yīng)商交易記錄查詢--功能描述:根據(jù)供應(yīng)商編號(hào)、供應(yīng)商簡(jiǎn)稱查詢指定期間的供應(yīng)商交易記錄信息。publicIList<IEntity>query(string[]values){stringsql="procSupplierBusinessRecord";SqlParameter[]parameters=newSqlParameter[4];parameters[0]=newSqlParameter("@fromDate",SqlDbType.VarChar,10);parameters[1]=newSqlParameter("@toDate",SqlDbType.VarChar,10);parameters[2]=newSqlParameter("@classField",SqlDbType.Char,1);任務(wù)2
—供應(yīng)商交易記錄查詢DAO主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字parameters[3]=newSqlParameter("@condition",SqlDbType.VarChar,100);parameters[0].Value=values[0];parameters[1].Value=values[1];parameters[2].Value=values[2];parameters[3].Value=values[3];returnnewDB().GeIEntityList(sql,CommandType.StoredProcedure,parameters,"SuperMarket.Entity.SupplierBusiReport");}
說(shuō)明:1.查詢結(jié)果的類型可能是多種類型,為了統(tǒng)一處理,可以采用泛型,也可以采用統(tǒng)一接口,本函數(shù)采用IEntity接口。
2.本函數(shù)為供應(yīng)商交易窗體frmSupplierBusiReport.cs中列表提供數(shù)據(jù)。3.string[]values,包含查詢的條件。任務(wù)2—供應(yīng)商交易記錄查詢DAO主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字
一、將DataGiridView列表中的數(shù)據(jù)導(dǎo)出到Excel文件中函數(shù)(請(qǐng)參見Tools\
CommonUtil.cs文件)
///<summary>///功能:將DataGridView中選中的記錄導(dǎo)出到Excel中:///本函數(shù)要求DataGridView的第一列須為復(fù)選框。///</summary>///<paramname="dgv">DataGridView控件</param>///<paramname="strTitle">導(dǎo)出的Excel標(biāo)題</param>publicstaticvoidDataGridViewExportToExcel(DataGridViewdgv,stringstrTitle){SaveFileDialogsaveFileDialog=newSaveFileDialog();saveFileDialog.Filter="Excelfiles(*.xls)|*.xls";
任務(wù)3—數(shù)據(jù)導(dǎo)出函數(shù)的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字saveFileDialog.FilterIndex=0;saveFileDialog.RestoreDirectory=true;saveFileDialog.CreatePrompt=false;saveFileDialog.FileName=strTitle+".xls";//導(dǎo)出時(shí),點(diǎn)擊【取消】按鈕
if(saveFileDialog.ShowDialog()==DialogResult.Cancel){return;}//打開用戶選定的具有讀/寫權(quán)限的文件。
StreammyStream=saveFileDialog.OpenFile();//-0,使用默認(rèn)編碼。
StreamWritersw=newStreamWriter(myStream,System.Text.Encoding.GetEncoding(-0));stringstrHeaderText="";
任務(wù)3—數(shù)據(jù)導(dǎo)出函數(shù)的設(shè)計(jì)說(shuō)明添加標(biāo)題文字添加標(biāo)題文字try{//寫標(biāo)題
for(inti=1;i<dgv.ColumnCount;i++){//列標(biāo)題之間空一定的距離
if(i>1){strHeaderText+="\t";}strHeaderText+=dgv.Columns[i].HeaderText;}//將表頭寫入文件中
sw.WriteLine(strHeaderText);//以下代碼將報(bào)表主體內(nèi)容寫到文件中
stringstrItemValue="";//依次讀取每行的值任務(wù)3—數(shù)據(jù)導(dǎo)出函數(shù)的設(shè)計(jì)說(shuō)明添加標(biāo)題文字添加標(biāo)題文字for(intj=0;j<dgv.RowCount;j++){//如果本行的復(fù)選框沒(méi)有被選中,則忽略此行
if((bool)dgv.Rows[j].Cells[0].EditedFormattedValue!=true){continue;}strItemValue="";//依次讀取每列的值
for(intk=1;k<dgv.ColumnCount;k++){if(k>1){strItemValue+="\t";}任務(wù)3—數(shù)據(jù)導(dǎo)出函數(shù)的設(shè)計(jì)說(shuō)明添加標(biāo)題文字添加標(biāo)題文字strItemValue+=dgv.Rows[j].Cells[k].Value.ToString();}//把dgv的每一行的信息寫到文件中
sw.WriteLine(strItemValue);}}catch(Exceptionex){MessageBox.Show(ex.Message,"軟件提示");throwex;}finally{//關(guān)閉流,釋放系統(tǒng)資源
sw.Close();myStream.Close();}}任務(wù)3—數(shù)據(jù)導(dǎo)出函數(shù)的設(shè)計(jì)說(shuō)明添加標(biāo)題文字添加標(biāo)題文字
說(shuō)明:1.功能:將DataGridview中的選中的記錄導(dǎo)出到指定的.excel文件中。其中DataGridview控件的第一列須要為DataGridViewCheckBoxColumn類型。2.sw.Close();myStream.Close();
關(guān)閉流,釋放系統(tǒng)資源。任務(wù)3—數(shù)據(jù)導(dǎo)出函數(shù)的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字注意:要引進(jìn).NET中的動(dòng)態(tài)庫(kù):System.Drawing.DLL、System.Windows.Forms.DLL
(以下代碼請(qǐng)參見Print項(xiàng)目中的WinPrinterPageSetting.cs文件一、
實(shí)現(xiàn)打印頁(yè)面設(shè)置、打印機(jī)設(shè)置、打印預(yù)覽對(duì)話框的類的設(shè)計(jì)。publicclassWinPrinterPageSetting
{//把PrintPage委托聲明為類的成員變量
privateSystem.Drawing.Printing.PrintEventHandler_beginPrintValue;privateSystem.Drawing.Printing.PrintPageEventHandler_printPageValue;……}
說(shuō)明:1.定義兩個(gè)委托類型的字段,在以后內(nèi)容,將會(huì)講述。任務(wù)4—打印設(shè)計(jì)類的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字二、構(gòu)造函數(shù)///<summary>///使用printDocument來(lái)初始化類的新實(shí)例,當(dāng)printDocument為null時(shí)自動(dòng)創(chuàng)建一個(gè)printDocument的實(shí)例。///</summary>///<paramname="printDocument">如果為null,則提供一個(gè)默認(rèn)的PrintDocument</param>publicWinPrinterPageSetting(PrintDocumentprintDocument){if(printDocument!=null){_printDocument=printDocument;}任務(wù)4—打印設(shè)計(jì)類的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字else{_printDocument=newPrintDocument();}}
二、BeginPrintValue屬性publicSystem.Drawing.Printing.PrintEventHandlerBeginPrintValue{set{//初始委托變量,關(guān)聯(lián)方法
_beginPrintValue=value;//委托調(diào)用任務(wù)4—打印設(shè)計(jì)類的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字if(_beginPrintValue!=null){//如果簽名一次,則調(diào)用一次就增加了一次委托,所以先將以前的委托清掉//如果不這樣,有多次簽名后,第一次可正確打印預(yù)覽頁(yè)面,第二次或其它次可能就是僅偶數(shù)頁(yè)、奇數(shù)頁(yè)等奇怪現(xiàn)象。
_printDocument.BeginPrint-=newSystem.Drawing.Printing.PrintEventHandler(_beginPrintValue);}//BeginPrint事件:在調(diào)用Print方法時(shí)并且在打印文檔的第一頁(yè)之前發(fā)生。_printDocument.BeginPrint+=newSystem.Drawing.Printing.PrintEventHandler(this._beginPrintValue);}get{return_beginPrintValue;}}任務(wù)4—打印設(shè)計(jì)類的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字三、PrintPageValue屬性///<summary>///一定要實(shí)例化此類后在調(diào)用打印/預(yù)覽之前設(shè)置此屬性,使之關(guān)聯(lián)一個(gè)///方法,目的
是讓具體的打印由實(shí)例化者來(lái)操作。這里當(dāng)屬性使用,
意思就是告訴printerPageSetting打印的具體實(shí)現(xiàn)過(guò)程是PrintPageEventHandler。///C#調(diào)用:/// PrinterPageSetting1.PrintPageValue=///newPrintPageDelegate(this.PrintPageEventHandler);///</summary>publicSystem.Drawing.Printing.PrintPageEventHandlerPrintPageValue{set{ //初始委托變量,關(guān)聯(lián)方法
_printPageValue=value;任務(wù)4—打印設(shè)計(jì)類的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字
//委托調(diào)用
if(_printPageValue!=null){//如果簽名一次,則調(diào)用一次就增加了一次委托,所以先將以前的委//托清掉。如果不這樣,有多次簽名后,第一次可正確打印預(yù)覽頁(yè)面,//第二次或其它次可能就是僅偶數(shù)頁(yè)、奇數(shù)頁(yè)等奇怪現(xiàn)象
_printDocument.Print=newSystem.Drawing.Printing.PrintPageEventHandler(_printPageValue);}//PrintDocument.PrintPage事件:當(dāng)需要為當(dāng)前頁(yè)打印的輸出時(shí)發(fā)生。
_printDocument.PrintPage+=newSystem.Drawing.Printing.PrintPageEventHandler(this._printPageValue);}get{return_printPageValue;} }任務(wù)4—打印設(shè)計(jì)類的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字
說(shuō)明:以上兩個(gè)屬性的類型都為委托類型,這樣可以通過(guò)給屬性賦值的方法,為有關(guān)的事件指定事件過(guò)程,方便了以后的開發(fā)應(yīng)用。
本類中的其它屬性、方法比較簡(jiǎn)單明了,不再做詳述。任務(wù)4—打印設(shè)計(jì)類的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字
(以下代碼請(qǐng)參見Print項(xiàng)目中的PrintOptions.cs窗體)
打印設(shè)置窗體如圖5-8-1、圖5-8-2打印設(shè)置界面所示。一、PrintDocument.BeginPrint事件過(guò)程的設(shè)計(jì)privatevoidPrintDoc_BeginPrint(objectsender,System.Drawing.Printing.PrintEventArgse){try{……//計(jì)算DataGridView的總寬度
foreach(DataGridViewColumnGridColindgv.Columns){//排除列表中隱藏的列
if(!GridCol.Visible)continue;
任務(wù)5
—打印設(shè)置界面的設(shè)計(jì)添加標(biāo)題文字添加標(biāo)題文字圖5-8-1打印設(shè)置界面一任務(wù)5
—打印設(shè)置界面的設(shè)計(jì)添加標(biāo)題文字添加標(biāo)題文字圖5-8-2打印設(shè)置界面二任務(wù)5
—打印設(shè)置界面的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)的題文字添加標(biāo)題文字
//排除未選中的列
if(!SelectedColumns.Contains(GridCol.HeaderText))continue;TotalWidth+=GridCol.Width;}//獲取選中的總行數(shù)
foreach(DataGridViewRowgrindgv.Rows){//IsNewRow屬性:獲取一個(gè)指示行是否為用于新記錄的行的值。
if(gr.IsNewRow||(!PrintAllRows&&gr.Cells["colSelect"].Value==null)){continue;}selectedRows++;}//初始化變量
PageNo=1;NewPage=true;RowPos=0;}……}任務(wù)5
—打印設(shè)置界面的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字
說(shuō)明:1.PrintDocument.BeginPrint事件在調(diào)用Print方法時(shí)并且在打印文檔的第一頁(yè)之前發(fā)生。2.本函數(shù)的主要功能:在正式打印之前
(1)統(tǒng)計(jì)出DataGridview列表中各列的寬度之和,其中不包括:隱藏的列、未選中的列。
(2)統(tǒng)計(jì)出DataGridview列表中的總行數(shù),其中不包括最后一行的空行、未選中的行(如果打印行范圍為:選擇行)3.gr.Cells[“colSelect”].Value==null,本行未選中;gr.Cells[“colSelect”].Value==true,本行選中。任務(wù)5
—打印設(shè)置界面的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字二、PrintDocument.PrintPage事件過(guò)程的設(shè)計(jì)privatevoidPrintDoc_PrintPage(objectsender,System.Drawing.Printing.PrintPageEventArgse){……}
說(shuō)明:1.PrintDocument.PrintPage事件,當(dāng)需要為當(dāng)前頁(yè)打印的輸出時(shí)發(fā)生。即正式從第一頁(yè)開始打印。2.if(PageNo==1){//計(jì)算每列的;列寬、列的left、列的類型
foreach(DataGridViewColumnGridColindgv.Columns){}}任務(wù)5
—打印設(shè)置界面的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字
以上If語(yǔ)句的作用:在開始打印第一頁(yè)之前,計(jì)算出要打印分每列的列寬、行高、打印時(shí)每列的開始位置、DataGridview中每列的類型,并將其保存到對(duì)應(yīng)的變量、集合中。3.逐行打印當(dāng)前頁(yè)的內(nèi)容
while(RowPos<=dgv.Rows.Count-1){……}4.if(tmpTop+CellHeight>=e.MarginBounds.Height+e.MarginBounds.Top){DrawFooter(e,RowsPerPage);NewPage=true;PageNo++;e.HasMorePages=true;return;}任務(wù)5
—打印設(shè)置界面的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字如果if條件成立,則打印完一頁(yè)后,需要換頁(yè)打??;NewPage=true;則意味著在打印新頁(yè)時(shí),需要先打印標(biāo)題和表頭。否則,不需要打印標(biāo)題和表頭。4.e.HasMorePages=true:換頁(yè),繼續(xù)打印,e.HasMorePages=false:停止打印。5.if(NewPage){……}
如果if語(yǔ)句條件成立,則說(shuō)明剛開始打印新頁(yè),因此需要打印報(bào)表的標(biāo)題和表頭及表頭部分的背景。6.打印報(bào)表的主體部分foreach(DataGridViewCellCelinGridRow.Cells){……}
根據(jù)列的類型,逐列打印當(dāng)前行的內(nèi)容。7.在打印第一頁(yè)的過(guò)程中,統(tǒng)計(jì)出每頁(yè)打印的行數(shù)if(PageNo==1)RowsPerPage++;
任務(wù)5
—打印設(shè)置界面的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字
三、打印頁(yè)腳函數(shù)privatevoidDrawFooter(System.Drawing.Printing.PrintPageEventArgse,intRowsPerPage){doublecnt=0;if(PrintAllRows){if(dgv.Rows[dgv.Rows.Count-1].IsNewRow)cnt=dgv.Rows.Count-2;elsecnt=dgv.Rows.Count-1;}elsent=selectedRows;
}任務(wù)5
—打印設(shè)置界面的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字
說(shuō)明:以上代碼的作用確定打印的行數(shù):1.如果用戶選擇的是打印全部行,則需要判斷最后一行是否為空行,如果if(dgv.Rows[dgv.Rows.Count-1].IsNewRow)條件成立,則最后一行為空行,因此此行不包含在打印行中,再去掉DataGridview中表頭一行,這樣打印的行數(shù)為cnt=dgv.Rows.Count–2。2.如果用戶選擇的是打印選中的行,則打印行數(shù)為用戶選中的行數(shù),即cnt=selectedRows;
任務(wù)5
—打印設(shè)置界面的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字
(以下代碼請(qǐng)參見frmSupplierBusiReport.cs窗體)
供應(yīng)商交易記錄查詢窗體完成的功能:1.完成供應(yīng)商交易記錄的查詢。2.將查詢結(jié)果導(dǎo)出到Excel文件中。3.將查詢結(jié)果以報(bào)表形式打?。嚎梢詫⒉樵兘Y(jié)果全部打印,也尅將查詢結(jié)果中的部分行、部分列打印成報(bào)表。4窗體設(shè)計(jì)如下圖
圖5-8-3供應(yīng)商交易記錄查詢窗體所示。
任務(wù)6
—供應(yīng)商交易記錄查詢窗體的設(shè)計(jì)圖5-8-3供應(yīng)商交易記錄查詢窗體任務(wù)6
—供應(yīng)商交易記錄查詢窗體的設(shè)計(jì)主要代碼說(shuō)明添加標(biāo)題文字添加標(biāo)題文字
一、導(dǎo)出數(shù)據(jù)(到Excel)按鈕的單擊事件過(guò)程privatevoidbtnExport_Click(objectsender,EventArgse){//如果列表中沒(méi)有記錄,則返回。
if(dgvSupplierBusiReport.Rows.Count<=0)return;boolflag=false;//是否選擇了記錄的標(biāo)志
//for循環(huán)依次判斷列表中是否有選中的
for(inti=0;i<dgvSupplierBusiReport.Rows.Count;i++){//獲取該單元格的當(dāng)前格式化值if((bool)dgvSupplierBusiReport.Rows[i].Cells[0].EditedFormatted
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 9、2025年度綠色建筑模板單項(xiàng)勞務(wù)分包合同3篇
- 個(gè)人宅基及房屋銷售協(xié)議版B版
- 2025版門面租賃合同簽訂流程及注意事項(xiàng)4篇
- 游戲化教學(xué)增強(qiáng)小學(xué)生注意力的教育模式
- 2025版化妝品銷售代理合同范本6篇
- 美容院與互聯(lián)網(wǎng)平臺(tái)2025年度線上推廣服務(wù)合同4篇
- 智能化學(xué)習(xí)環(huán)境下的學(xué)生思維升級(jí)
- 二零二五年度汽車美容服務(wù)合同范本4篇
- 科技產(chǎn)品的動(dòng)態(tài)視覺(jué)設(shè)計(jì)實(shí)踐分享
- 時(shí)間管理對(duì)學(xué)習(xí)態(tài)度的積極影響
- 教師招聘(教育理論基礎(chǔ))考試題庫(kù)(含答案)
- 2024年秋季學(xué)期學(xué)校辦公室工作總結(jié)
- 鋪大棚膜合同模板
- 長(zhǎng)亭送別完整版本
- 智能養(yǎng)老院視頻監(jiān)控技術(shù)方案
- 你比我猜題庫(kù)課件
- 無(wú)人駕駛航空器安全操作理論復(fù)習(xí)測(cè)試附答案
- 建筑工地春節(jié)留守人員安全技術(shù)交底
- 默納克-NICE1000技術(shù)交流-V1.0
- 蝴蝶蘭的簡(jiǎn)介
- 老年人心理健康量表(含評(píng)分)
評(píng)論
0/150
提交評(píng)論