本發(fā)明涉及計(jì)算機(jī)應(yīng)用
技術(shù)領(lǐng)域:
:,具體地說(shuō)是一種通用的內(nèi)存數(shù)據(jù)表行轉(zhuǎn)列展示的實(shí)現(xiàn)方法。
背景技術(shù):
::數(shù)據(jù)展示在軟件系統(tǒng)中占有重要的地位。如何直觀的展示數(shù)據(jù),讓系統(tǒng)使用人員快速對(duì)數(shù)據(jù)行進(jìn)接收并作出對(duì)比分析,進(jìn)而給出輔助決策意見(jiàn),是軟件系統(tǒng)經(jīng)常遇到的難題。數(shù)據(jù)行轉(zhuǎn)列,是在數(shù)據(jù)展示中常遇到的一個(gè)問(wèn)題,尤其需要分析的數(shù)據(jù)為非數(shù)值類型的時(shí)候。目前針對(duì)數(shù)值數(shù)據(jù)進(jìn)行行轉(zhuǎn)列展示已經(jīng)有成熟的控件實(shí)現(xiàn),但針對(duì)非數(shù)值型的數(shù)據(jù)進(jìn)行行轉(zhuǎn)列展示還沒(méi)有成熟的控件,導(dǎo)致非數(shù)值數(shù)據(jù)行轉(zhuǎn)列展示時(shí),需要復(fù)雜的開(kāi)發(fā)過(guò)程,開(kāi)發(fā)效率低,增加很多開(kāi)發(fā)工作量。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的技術(shù)任務(wù)是針對(duì)以上不足之處,提供一種通用的內(nèi)存數(shù)據(jù)表行轉(zhuǎn)列展示的實(shí)現(xiàn)方法,能夠快速將內(nèi)存數(shù)據(jù)表進(jìn)行行轉(zhuǎn)列操作,初始化設(shè)置多表頭gridview,并最終將數(shù)據(jù)按照約定格式進(jìn)行展示。本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:一種通用的內(nèi)存數(shù)據(jù)表行轉(zhuǎn)列展示的實(shí)現(xiàn)方法,對(duì)非數(shù)值數(shù)據(jù)快速實(shí)現(xiàn)行轉(zhuǎn)列并利用多表頭的gridview進(jìn)行展示,實(shí)現(xiàn)方法包括以下步驟:1)、設(shè)置行列轉(zhuǎn)換要求,能夠自定義行轉(zhuǎn)列的轉(zhuǎn)換要求,包括行分組列,列分組列和數(shù)據(jù)展示列;2)、根據(jù)轉(zhuǎn)換要求對(duì)數(shù)據(jù)表進(jìn)行行轉(zhuǎn)列操作,能夠根據(jù)步驟1)所述要求定義的轉(zhuǎn)換要求,將數(shù)據(jù)進(jìn)行轉(zhuǎn)換操作;3)、根據(jù)轉(zhuǎn)換要求對(duì)創(chuàng)建多表頭gridview,能夠根據(jù)步驟1)所述要求定義的轉(zhuǎn)換要求,創(chuàng)建多表頭的gridview用于展示步驟2)所述的轉(zhuǎn)換結(jié)果;4)、實(shí)現(xiàn)轉(zhuǎn)換數(shù)據(jù)綁定與展示,能夠?qū)⒉襟E2)所述要求的轉(zhuǎn)換結(jié)果,綁定到步驟3)所述要求創(chuàng)建多表頭的gridview。進(jìn)一步的,行列轉(zhuǎn)換要求是根據(jù)源數(shù)據(jù)表和業(yè)務(wù)要求,分別設(shè)置轉(zhuǎn)換需要的行分組列,列分組列以及數(shù)據(jù)展示列。進(jìn)一步的,根據(jù)轉(zhuǎn)換要求對(duì)數(shù)據(jù)表進(jìn)行行轉(zhuǎn)列操作根據(jù)設(shè)置的轉(zhuǎn)換要求,創(chuàng)建新的數(shù)據(jù)表,并按照規(guī)則將源數(shù)據(jù)表數(shù)據(jù)填充至新數(shù)據(jù)表,完成行列轉(zhuǎn)換。進(jìn)一步的,根據(jù)轉(zhuǎn)換要求創(chuàng)建多表頭gridview,按照設(shè)置的轉(zhuǎn)換要求,創(chuàng)建多表頭gridview,動(dòng)態(tài)創(chuàng)建行分組列及列分組列和數(shù)據(jù)展示列。進(jìn)一步的,實(shí)現(xiàn)數(shù)據(jù)綁定與展示,將轉(zhuǎn)換的新數(shù)據(jù)表綁定至創(chuàng)建的多表頭gridview,完成數(shù)據(jù)展示。本發(fā)明的一種通用的內(nèi)存數(shù)據(jù)表行轉(zhuǎn)列展示的實(shí)現(xiàn)方法和現(xiàn)有技術(shù)相比,具有以下有益效果:能夠快速將內(nèi)存數(shù)據(jù)表進(jìn)行行轉(zhuǎn)列操作,初始化設(shè)置多表頭gridview,并最終將數(shù)據(jù)按照約定格式進(jìn)行展示,減少開(kāi)發(fā)工作量,提升開(kāi)發(fā)效率。具體實(shí)施方式下面結(jié)合具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。一種通用的內(nèi)存數(shù)據(jù)表行轉(zhuǎn)列展示的實(shí)現(xiàn)方法,對(duì)非數(shù)值數(shù)據(jù)快速實(shí)現(xiàn)行轉(zhuǎn)列并利用多表頭的gridview進(jìn)行展示,實(shí)現(xiàn)方法包括以下步驟:1)、設(shè)置行列轉(zhuǎn)換要求,能夠自定義行轉(zhuǎn)列的轉(zhuǎn)換要求,包括行分組列,列分組列和數(shù)據(jù)展示列;2)、根據(jù)轉(zhuǎn)換要求對(duì)數(shù)據(jù)表進(jìn)行行轉(zhuǎn)列操作,能夠根據(jù)步驟1)所述要求定義的轉(zhuǎn)換要求,將數(shù)據(jù)進(jìn)行轉(zhuǎn)換操作;3)、根據(jù)轉(zhuǎn)換要求對(duì)創(chuàng)建多表頭gridview,能夠根據(jù)步驟1)所述要求定義的轉(zhuǎn)換要求,創(chuàng)建多表頭的gridview用于展示步驟2)所述的轉(zhuǎn)換結(jié)果;4)、實(shí)現(xiàn)轉(zhuǎn)換數(shù)據(jù)綁定與展示,能夠?qū)⒉襟E2)所述要求的轉(zhuǎn)換結(jié)果,綁定到步驟3)所述要求創(chuàng)建多表頭的gridview。行列轉(zhuǎn)換要求是根據(jù)源數(shù)據(jù)表和業(yè)務(wù)要求,分別設(shè)置轉(zhuǎn)換需要的行分組列,列分組列以及數(shù)據(jù)展示列;根據(jù)轉(zhuǎn)換要求對(duì)數(shù)據(jù)表進(jìn)行行轉(zhuǎn)列操作根據(jù)設(shè)置的轉(zhuǎn)換要求,創(chuàng)建新的數(shù)據(jù)表,并按照規(guī)則將源數(shù)據(jù)表數(shù)據(jù)填充至新數(shù)據(jù)表,完成行列轉(zhuǎn)換;根據(jù)轉(zhuǎn)換要求創(chuàng)建多表頭gridview,按照設(shè)置的轉(zhuǎn)換要求,創(chuàng)建多表頭gridview,動(dòng)態(tài)創(chuàng)建行分組列及列分組列和數(shù)據(jù)展示列;實(shí)現(xiàn)數(shù)據(jù)綁定與展示,將轉(zhuǎn)換的新數(shù)據(jù)表綁定至創(chuàng)建的多表頭gridview,完成數(shù)據(jù)展示。本發(fā)明方法適用于c#程序的編程實(shí)現(xiàn),實(shí)現(xiàn)過(guò)程如下:1、定義轉(zhuǎn)換規(guī)則///<summary>///源數(shù)據(jù)表,用于存儲(chǔ)需要行列轉(zhuǎn)換的數(shù)據(jù)表///</summary>publicdatatablesourcetable{get;set;}///<summary>///轉(zhuǎn)換數(shù)據(jù)結(jié)果///</summary>publicdatatableresulttable{get;set;}///<summary>///用于設(shè)置行分組列///</summary>publiclist<string>listrowfields{get;set;}///<summary>///用于設(shè)置列分組列///</summary>publiclist<string>listcolumnfields{get;set;}///<summary>///用于設(shè)置數(shù)據(jù)展示列///</summary>publiclist<string>listdatafields{get;set;}本示例中,設(shè)定行分組列為方坯編號(hào),設(shè)定列分組列為測(cè)試項(xiàng)目和測(cè)試條件,數(shù)據(jù)展示列為是否測(cè)試。2、實(shí)現(xiàn)數(shù)據(jù)表轉(zhuǎn)換///<summary>///數(shù)據(jù)行轉(zhuǎn)列實(shí)現(xiàn)///</summary>///<returns></returns>publicvoidconverttable(){}聲明方法converttable()用于實(shí)現(xiàn)內(nèi)存數(shù)據(jù)表的行列轉(zhuǎn)換,并存儲(chǔ)于步驟1聲明的變量resulttable中。具體轉(zhuǎn)化如下:1)、創(chuàng)建數(shù)據(jù)表(datatable)resulttable;2)、根據(jù)步驟1設(shè)置的listrowfields,創(chuàng)建resulttable的行分組數(shù)據(jù)列;3)、根據(jù)步驟1設(shè)置的listcolumnfields和listdatafields,創(chuàng)建resulttable的數(shù)據(jù)展示列;4)、將原始數(shù)據(jù)表sourcetable的數(shù)據(jù)按照規(guī)則填充至resulttable表。3、創(chuàng)建多表頭gridview,并綁定展示///<summary>///創(chuàng)建多表頭view///</summary>///<paramname="view"></param>publicvoidcreateshowview(refadvbandedgridviewview){}///<summary>///綁定數(shù)據(jù)///</summary>///<paramname="gridcontrol"></param>publicvoidbandviewsource(refgridcontrolgridcontrol){}聲明方法createshowview(refadvbandedgridviewview)用于實(shí)現(xiàn)創(chuàng)建多表頭表格;聲明方法bandviewsource(refgridcontrolgridcontrol)用于將行列轉(zhuǎn)換的結(jié)果綁定到多表頭表格。創(chuàng)建多表頭及綁定步驟如下:1)、聲明多表頭(advbandedgridview)變量view用于展示轉(zhuǎn)換結(jié)果數(shù)據(jù);2)、根據(jù)步驟1設(shè)置的listrowfields,動(dòng)態(tài)創(chuàng)建view的行分組數(shù)據(jù)列;3)、根據(jù)步驟1設(shè)置的listcolumnfields和listdatafields,動(dòng)態(tài)創(chuàng)建view的數(shù)據(jù)展示列;4)、調(diào)用bandviewsource方法實(shí)現(xiàn)數(shù)據(jù)綁定展示。通過(guò)上面具體實(shí)施方式,所述
技術(shù)領(lǐng)域:
:的技術(shù)人員可容易的實(shí)現(xiàn)本發(fā)明。但是應(yīng)當(dāng)理解,本發(fā)明并不限于上述的具體實(shí)施方式。在公開(kāi)的實(shí)施方式的基礎(chǔ)上,所述
技術(shù)領(lǐng)域:
:的技術(shù)人員可任意組合不同的技術(shù)特征,從而實(shí)現(xiàn)不同的技術(shù)方案。除說(shuō)明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。當(dāng)前第1頁(yè)12當(dāng)前第1頁(yè)12