国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

在Winform系統(tǒng)開發(fā)中,對(duì)表格列表中的內(nèi)容進(jìn)行分組展示

這篇具有很好參考價(jià)值的文章主要介紹了在Winform系統(tǒng)開發(fā)中,對(duì)表格列表中的內(nèi)容進(jìn)行分組展示。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

在我們開發(fā)Winform界面的時(shí)候,有時(shí)候會(huì)遇到需要對(duì)一些字段進(jìn)行一些匯總的管理,如果在列表中能夠?qū)Ρ砀窳斜碇械膬?nèi)容進(jìn)行分組展示,將比較符合我們的預(yù)期,本篇隨筆介紹在Winform開發(fā)中如何利用DevExpress的GridView實(shí)現(xiàn)該功能。

1、準(zhǔn)備數(shù)據(jù)表和一些數(shù)據(jù)

我們來(lái)以ERP系統(tǒng)中的一個(gè)原料表格來(lái)介紹我們對(duì)表格數(shù)據(jù)匯總的處理,首先創(chuàng)建一個(gè)原料表用來(lái)測(cè)試,表的數(shù)據(jù)庫(kù)設(shè)計(jì)可以采用PowerDesigner等類似的建模工具設(shè)計(jì),如下所示。

在Winform系統(tǒng)開發(fā)中,對(duì)表格列表中的內(nèi)容進(jìn)行分組展示

通過(guò)預(yù)覽生成SQL的方式,我們可以生成對(duì)應(yīng)不同的數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)腳本,用于創(chuàng)建對(duì)應(yīng)的數(shù)據(jù)庫(kù)表。

在Winform系統(tǒng)開發(fā)中,對(duì)表格列表中的內(nèi)容進(jìn)行分組展示

?生成對(duì)應(yīng)的數(shù)據(jù)表后,我們往里面填入一些測(cè)試的數(shù)據(jù),用于實(shí)際的測(cè)試處理。

我們準(zhǔn)備類別不同的數(shù)據(jù)寫入,為了方便測(cè)試,具體數(shù)據(jù)效果如下所示。

在Winform系統(tǒng)開發(fā)中,對(duì)表格列表中的內(nèi)容進(jìn)行分組展示

?有了這些,我們就可以順利進(jìn)行下面的代碼開發(fā)了。

?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-801205.html

2、基于具體框架生成基礎(chǔ)數(shù)據(jù)庫(kù)操作類

在這里可以根據(jù)我們實(shí)際的需要,生成相關(guān)的基礎(chǔ)數(shù)據(jù)庫(kù)操作類,如我的Winform框架或者SqlSugar 開發(fā)框架的Winform前端,都可以直接生成對(duì)應(yīng)的框架基礎(chǔ)代碼,我們這里以我們的SqlSugar 開發(fā)框架模式來(lái)開發(fā)對(duì)應(yīng)的Winform界面。

在Winform系統(tǒng)開發(fā)中,對(duì)表格列表中的內(nèi)容進(jìn)行分組展示

由于我們開發(fā)一般是基于增量式的開發(fā)方式,因此我們可以一次性選擇我們新增的表進(jìn)行生成底層框架的支持代碼,如下確定界面所示。

在Winform系統(tǒng)開發(fā)中,對(duì)表格列表中的內(nèi)容進(jìn)行分組展示

?最終生成一個(gè)可以直接運(yùn)行的項(xiàng)目整體框架方案。

在Winform系統(tǒng)開發(fā)中,對(duì)表格列表中的內(nèi)容進(jìn)行分組展示

?如果我們是考慮增量式的整合在我們現(xiàn)有的項(xiàng)目上,那么我們可以把SugarProjectCore項(xiàng)目目錄里面的文件夾整個(gè)復(fù)制整合到我們已有的項(xiàng)目上即可。

它們的目錄結(jié)構(gòu)已經(jīng)根據(jù)不同的功能放在了不同的文件夾中了,如下圖所示。

在Winform系統(tǒng)開發(fā)中,對(duì)表格列表中的內(nèi)容進(jìn)行分組展示

例如,我們把它們整個(gè)復(fù)制放置到了對(duì)應(yīng)項(xiàng)目目錄下,如下所示。

在Winform系統(tǒng)開發(fā)中,對(duì)表格列表中的內(nèi)容進(jìn)行分組展示

?那么目前我們已有項(xiàng)目上就增加了對(duì)應(yīng)的訪問(wèn)數(shù)據(jù)庫(kù)的業(yè)務(wù)類所需要的模型、接口、具體實(shí)現(xiàn)類了。

接下來(lái)就是對(duì)Winform的界面進(jìn)行生成了。

3、生成相關(guān)的界面,并實(shí)現(xiàn)分組的特殊處理

前面我們介紹了,這個(gè)案例介紹基于我們SqlSugar開發(fā)框架的實(shí)現(xiàn),因此我們基于SqlSugar開發(fā)框架的Winform界面進(jìn)行生成即可。生成的界面直接調(diào)用剛才的創(chuàng)建的基礎(chǔ)接口來(lái)請(qǐng)求數(shù)據(jù)和綁定處理,以及相關(guān)的導(dǎo)入導(dǎo)出、編輯、刪除等基礎(chǔ)操作。

在Winform系統(tǒng)開發(fā)中,對(duì)表格列表中的內(nèi)容進(jìn)行分組展示

上面的界面就是基于SqlSugar開發(fā)框架生成的Winform界面的時(shí)候,對(duì)界面中查詢條件、列表展示的字段,以及編輯界面的字段進(jìn)行設(shè)計(jì)的處理,代碼生成工具根據(jù)這些設(shè)定進(jìn)行界面代碼的生成。

生成的代碼,自動(dòng)包含了列表展示和編輯等基礎(chǔ)界面功能,如下代碼文件所示。

在Winform系統(tǒng)開發(fā)中,對(duì)表格列表中的內(nèi)容進(jìn)行分組展示

我們把這些文件整合到我們已有的UI項(xiàng)目上,就可以實(shí)現(xiàn)表的界面代碼增量的生成了。

直接測(cè)試編譯運(yùn)行,稍作調(diào)整,最終的界面效果如下所示。

在Winform系統(tǒng)開發(fā)中,對(duì)表格列表中的內(nèi)容進(jìn)行分組展示

?以上的表格數(shù)據(jù),只是常規(guī)的展示,并沒(méi)有實(shí)現(xiàn)分組的處理,我們?cè)黾右粋€(gè)復(fù)選框,用來(lái)設(shè)置分組處理的展示,如下界面所示。

在Winform系統(tǒng)開發(fā)中,對(duì)表格列表中的內(nèi)容進(jìn)行分組展示

我們注意到,在WInform界面中,生成的界面代碼包含了對(duì)數(shù)據(jù)的綁定顯示,如下就是對(duì)表的數(shù)據(jù)請(qǐng)求函數(shù)。

        /// <summary>
        /// 獲取數(shù)據(jù)
        /// </summary>
        /// <returns></returns>
        private async Task<IPagedResult<MaterialInfo>> GetData()
        {
            MaterialPagedDto pagerDto = null;
            if (advanceCondition != null)
            {
                pagerDto = new MaterialPagedDto(this.winGridViewPager1.PagerInfo);
                pagerDto = dlg.GetPagedResult(pagerDto);               
            }
            else
            {
                //構(gòu)建分頁(yè)的條件和查詢條件
                pagerDto = new MaterialPagedDto(this.winGridViewPager1.PagerInfo)
                {
                    //添加所需條件
                    Category = this.txtCategory.Text.Trim(),
                    Code = this.txtCode.Text.Trim(),
                    Name = this.txtName.Text.Trim(),
                    Alias = this.txtAlias.Text.Trim(),
                    UsePurpose = this.txtUsePurpose.Text.Trim(),
                    SupplierSimple = this.txtSupplierSimple.Text.Trim(),
                    Producer = this.txtProducer.Text.Trim(),
                };

                //日期和數(shù)值范圍定義
            }

            var result = await BLLFactory<IMaterialService>.Instance.GetListAsync(pagerDto);
            return result;
        }

以上就是根據(jù)界面的條件進(jìn)行數(shù)據(jù)的條件查詢,并返回記錄集合。

在獲得記錄集合后,我們把它賦值給我們自定義的分頁(yè)控件組件,就可以實(shí)現(xiàn)相關(guān)數(shù)據(jù)的正常展示了。

//獲取分頁(yè)數(shù)據(jù)列表
var result = await GetData();

//設(shè)置所有記錄數(shù)和列表數(shù)據(jù)源
this.winGridViewPager1.PagerInfo.RecordCount = result.TotalCount; //需先于DataSource的賦值,更新分頁(yè)信息
this.winGridViewPager1.DataSource = result.Items;

為了實(shí)現(xiàn)分組的處理展示,我們需要判斷上面的復(fù)選框條件,進(jìn)行分組條件和表達(dá)式的創(chuàng)建處理即可,如下代碼所示。

//增加匯總字段和顯示
var gridView1 = this.winGridViewPager1.gridView1;
if (checkGroup.Checked)
{
    this.winGridViewPager1.ShowLineNumber = false;
    gridView1.IndicatorWidth = 0;
    gridView1.OptionsView.ShowGroupExpandCollapseButtons = true;//顯示折疊的分組
    gridView1.OptionsView.AllowCellMerge = true; //允許合并字段
    gridView1.OptionsView.GroupDrawMode = GroupDrawMode.Standard;

    gridView1.GroupSummary.Clear();
    gridView1.Columns["Category"].GroupIndex = 0;//對(duì)類別進(jìn)行分組展示

    var item = new GridGroupSummaryItem();
    item.FieldName = "Id";
    item.DisplayFormat = "  (合計(jì)數(shù)量 = {0:n})";
    item.SummaryType = DevExpress.Data.SummaryItemType.Count;//Sum、Average等
    gridView1.GroupSummary.Add(item);
    gridView1.ExpandAllGroups();
}
else
{
    gridView1.GroupSummary.Clear();
    this.winGridViewPager1.ShowLineNumber = true;
    gridView1.OptionsView.AllowCellMerge = false;
}

以上就是對(duì)數(shù)據(jù)記錄進(jìn)行分組的代碼,核心代碼就幾行,可以很容易實(shí)現(xiàn)我們所需要的分組效果,如下界面所示。

在Winform系統(tǒng)開發(fā)中,對(duì)表格列表中的內(nèi)容進(jìn)行分組展示

?如果我們不需要合并,取消設(shè)置為false即可。

gridView1.OptionsView.AllowCellMerge = false; 

以上就是我們介紹基于SqlSugar開發(fā)框架生成基礎(chǔ)代碼、界面代碼、以及實(shí)現(xiàn)分組處理展示的一些總結(jié)。

?

到了這里,關(guān)于在Winform系統(tǒng)開發(fā)中,對(duì)表格列表中的內(nèi)容進(jìn)行分組展示的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【itext7】itext7操作PDF文檔之添加段落文本內(nèi)容、添加List列表、添加Image圖片、添加Table表格

    【itext7】itext7操作PDF文檔之添加段落文本內(nèi)容、添加List列表、添加Image圖片、添加Table表格

    這篇文章,主要介紹itext7操作PDF文檔之添加段落文本內(nèi)容、添加List列表、添加Image圖片、添加Table表格。 目錄 一、itext7操作PDF內(nèi)容 1.1、添加段落文本內(nèi)容 1.2、添加列表內(nèi)容 1.3、添加圖片 1.4、添加表格 (1)列寬采用點(diǎn)單位(pt點(diǎn)單位) (2)采用百分比單位(%百分比) it

    2024年02月16日
    瀏覽(17)
  • 讓QT中的Qtablewidget控件表格中的元素內(nèi)容顯示居中

    讓QT中的Qtablewidget控件表格中的元素內(nèi)容顯示居中

    好了看最終的一個(gè)演示出來(lái)的效果吧 ?好了,就到這里,下次其他的我再繼續(xù)更新吧,下面我附上一個(gè)類似的文章,寫的也可以,有些我沒(méi)有用到的分享出來(lái)你們也可以借鑒一下。 Qt中讓tableWidget內(nèi)容中的每個(gè)元素居中(qtablewidget的一些使用) - ww學(xué)習(xí)筆記 - 博客園

    2024年02月11日
    瀏覽(22)
  • Python爬蟲-爬取文檔內(nèi)容,如何去掉文檔中的表格,并保存正文內(nèi)容

    Python爬蟲-爬取文檔內(nèi)容,如何去掉文檔中的表格,并保存正文內(nèi)容

    前言 本文是該專欄的第58篇,后面會(huì)持續(xù)分享python爬蟲干貨知識(shí),記得關(guān)注。 做過(guò)爬蟲項(xiàng)目的同學(xué),可能或多或少爬取過(guò)文檔數(shù)據(jù),比如說(shuō)“政務(wù)網(wǎng)站,新聞網(wǎng)站,小說(shuō)網(wǎng)站”等平臺(tái)的文檔數(shù)據(jù)。爬取文檔數(shù)據(jù),筆者這里就不過(guò)多詳述,而本文, 筆者將主要介紹在爬取文檔

    2024年02月08日
    瀏覽(28)
  • WORD中的表格內(nèi)容回車行距過(guò)大無(wú)法調(diào)整行距

    WORD中的表格內(nèi)容回車行距過(guò)大無(wú)法調(diào)整行距

    word插入表格,編輯內(nèi)容,換行遇到如下問(wèn)題: 回車后行距過(guò)大,無(wú)法調(diào)整行距。 解決方法(并行): 方法1:選中要調(diào)整的內(nèi)容,菜單路徑:“編輯-清除-格式” 方法2:設(shè)置文本字體格式 方法3:調(diào)整回車間的行距,菜單路徑:“格式-段落-行距-固定行距” 示例:

    2024年02月08日
    瀏覽(25)
  • elementUI表格勾選框判斷選擇相同的內(nèi)容才能進(jìn)行后續(xù)邏輯處理;否則攔截提示

    elementUI表格勾選框判斷選擇相同的內(nèi)容才能進(jìn)行后續(xù)邏輯處理;否則攔截提示

    需求是: 可多選需滿足條件:同一個(gè)年級(jí)、同一個(gè)分?jǐn)?shù); 不滿足條件給出提示:請(qǐng)選擇同一個(gè)年級(jí) 、分?jǐn)?shù)的學(xué)生 1、先對(duì)勾選數(shù)據(jù)進(jìn)行賦值 2、判斷是否相同的內(nèi)容 的公共方法,tableSelectArr是勾選的數(shù)據(jù)集合 3、按鈕位置增加判斷、攔截

    2024年02月16日
    瀏覽(23)
  • Collections工具類,可以使用collections工具類對(duì)代碼中的list進(jìn)行分組

    當(dāng)我們需要對(duì)代碼list進(jìn)行分組的時(shí)候,有時(shí)候使用for循環(huán)會(huì)顯得很蠢,那么使用Colletions工具類就會(huì)很方便,根據(jù)所需要的分類值,進(jìn)行映射分組集合,以上是案例 toMap 返回map集合?MapLong, ListLong toList 返回list集合 tips stream流一樣好用

    2024年03月23日
    瀏覽(20)
  • vue3+element-plus點(diǎn)擊列表中的圖片預(yù)覽時(shí),圖片被表格覆蓋

    vue3+element-plus點(diǎn)擊列表中的圖片預(yù)覽時(shí),圖片被表格覆蓋

    視覺(jué) 點(diǎn)擊圖片進(jìn)行預(yù)覽,但還能繼續(xù)選中其他的圖片進(jìn)行預(yù)覽,鼠標(biāo)放在表格上,那一行表格也會(huì)選中,如圖所示第一行的效果。 代碼 官網(wǎng)文檔有這么一個(gè)屬性,官網(wǎng)是這個(gè)描述的Image屬性。 在 el-image 中加入屬性 preview-teleported=\\\"true\\\" 即可。

    2024年02月13日
    瀏覽(45)
  • python 一次性刪除列表(list)的空白元素(空內(nèi)容) 或者 一次性刪除列表(list)中的指定元素

    看看下述代碼: 輸出: 當(dāng)你遇見(jiàn)這種情況,有哪些方法來(lái)去除里面的空內(nèi)容呢(即 \\\'\\\' )? 1.1 刪除空內(nèi)容(方法一) : 輸出: 1.2 刪除空內(nèi)容(方法二) : 需要 配合 lambda 表達(dá)式 一起使用! 輸出: 2.3 刪除指定內(nèi)容 : 輸出: 注 :此方法既可以刪除空元素,也可以刪除指

    2024年02月03日
    瀏覽(304)
  • 安卓開發(fā)多選列表和回顯已選擇內(nèi)容

    安卓開發(fā)多選列表和回顯已選擇內(nèi)容

    安卓日常開發(fā)和學(xué)習(xí)過(guò)程中,經(jīng)常會(huì)碰到需要多選列表和顯示已選擇內(nèi)容的場(chǎng)景,本文將介紹安卓實(shí)現(xiàn)多選列表和回顯已選擇內(nèi)容的一種方案。 話不多說(shuō),先上效果: 思路分析: 一個(gè)縱向列表顯示待選擇內(nèi)容,一個(gè)橫向列表用來(lái)顯示已選擇內(nèi)容,點(diǎn)擊待選列表和已選擇列表

    2024年02月06日
    瀏覽(22)
  • elementUi中的el-table表格的內(nèi)容根據(jù)后端返回的數(shù)據(jù)用不同的顏色展示

    elementUi中的el-table表格的內(nèi)容根據(jù)后端返回的數(shù)據(jù)用不同的顏色展示

    效果圖如下: 首先 首先:需要在表格行加入?template slot-scope=\\\"{ row }\\\"?/template標(biāo)簽 ?2.在methods里面加入這個(gè)方法: ?3.去設(shè)置自己喜歡的顏色: //還有另一種(這種后端返回的數(shù)據(jù)里面帶有背景色的字段) ? ?

    2024年02月10日
    瀏覽(28)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包