首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >devexpress xtragrid使用循环以编程方式创建

devexpress xtragrid使用循环以编程方式创建
EN

Stack Overflow用户
提问于 2013-01-30 20:05:02
回答 1查看 6.3K关注 0票数 1

我使用的是devexpress xtragrid和高级的带状网格视图。网格将在运行时以编程方式创建。我写了代码,它起作用了。但现在我需要的是网格将创建一个循环,我的意思是我不知道列号,它取决于用户。

这是我的第一个代码(它起作用了):

代码语言:javascript
复制
DevExpress.XtraGrid.Views.BandedGrid.AdvBandedGridView advBandedGridView1 = new DevExpress.XtraGrid.Views.BandedGrid.AdvBandedGridView();
        DevExpress.XtraGrid.Views.BandedGrid.GridBand gridBand1 = new DevExpress.XtraGrid.Views.BandedGrid.GridBand();
        DevExpress.XtraGrid.Views.BandedGrid.GridBand gridBand2 = new DevExpress.XtraGrid.Views.BandedGrid.GridBand();
        DevExpress.XtraGrid.Views.BandedGrid.BandedGridColumn colTrademark = new DevExpress.XtraGrid.Views.BandedGrid.BandedGridColumn();
        DevExpress.XtraGrid.Views.BandedGrid.BandedGridColumn colModel = new DevExpress.XtraGrid.Views.BandedGrid.BandedGridColumn();
        DevExpress.XtraGrid.Views.BandedGrid.BandedGridColumn colTrademark2 = new DevExpress.XtraGrid.Views.BandedGrid.BandedGridColumn();
        DevExpress.XtraGrid.Views.BandedGrid.BandedGridColumn colModel2 = new DevExpress.XtraGrid.Views.BandedGrid.BandedGridColumn();       

        advBandedGridView1.Bands.AddRange(new DevExpress.XtraGrid.Views.BandedGrid.GridBand[] { gridBand1, gridBand2 });
        //advBandedGridView1.Columns.AddRange(new DevExpress.XtraGrid.Views.BandedGrid.BandedGridColumn[] {colTrademark,colModel});       

        advBandedGridView1.GridControl = xgc;
        advBandedGridView1.Name = "advBandedGridView1";
        xgc.MainView = advBandedGridView1;

        gridBand1.Caption = "Model";
        gridBand1.Columns.Add(colTrademark);
        gridBand1.Columns.Add(colModel);
        gridBand1.Name = "gridBand1";
        gridBand1.Width = 217;

        gridBand2.Caption = "Model2";
        gridBand2.Columns.Add(colTrademark2);
        gridBand2.Columns.Add(colModel2);
        gridBand2.Name = "gridBand2";
        gridBand2.Width = 217;

        colTrademark.Caption = "Trademark";
        colTrademark.FieldName = "Trademark0";
        colTrademark.Name = "colTrademark";
        colTrademark.SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Count;
        colTrademark.Visible = true;
        colTrademark.Width = 113;

        colModel.Caption = "Model";
        colModel.FieldName = "Model0";
        colModel.Name = "colModel";
        colModel.Visible = true;
        colModel.Width = 104;

        colTrademark2.Caption = "Trademark2";
        colTrademark2.FieldName = "Trademark1";
        colTrademark2.Name = "colTrademark2";
        colTrademark2.SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Count;
        colTrademark2.Visible = true;
        colTrademark2.Width = 113;

        colModel2.Caption = "Model2";
        colModel2.FieldName = "Model1";
        colModel2.Name = "colModel2";
        colModel2.Visible = true;
        colModel2.Width = 104;

        DataTable dtCars = new DataTable("Cars");
        dtCars.Columns.Add("Trademark0");
        dtCars.Columns.Add("Model0");
        dtCars.Columns.Add("Trademark1");
        dtCars.Columns.Add("Model1");

        DataRow drCars = dtCars.NewRow();
        drCars["Trademark0"] = "BMW";
        drCars["Model0"] = "530i";
        drCars["Trademark1"] = "aaaa";
        drCars["Model1"] = "111";
        dtCars.Rows.Add(drCars);

        drCars = dtCars.NewRow();
        drCars["Trademark0"] = "Cadillac";
        drCars["Model0"] = "Seville";
        drCars["Trademark1"] = "cccc";
        drCars["Model1"] = "2222";
        dtCars.Rows.Add(drCars);

        drCars = dtCars.NewRow();
        drCars["Trademark0"] = "Cadillac";
        drCars["Model0"] = "Deville";
        drCars["Trademark1"] = "ddddd";
        drCars["Model1"] = "3333";
        dtCars.Rows.Add(drCars);

        xgc.DataSource = dtCars;

和循环一(它不工作):

代码语言:javascript
复制
 DevExpress.XtraGrid.Views.BandedGrid.GridBand[] gridBand = new DevExpress.XtraGrid.Views.BandedGrid.GridBand[2];
            for (int i = 0; i < 2; i++)
            {
                gridBand[i] = new DevExpress.XtraGrid.Views.BandedGrid.GridBand();

                DevExpress.XtraGrid.Views.BandedGrid.BandedGridColumn colTrademark = new DevExpress.XtraGrid.Views.BandedGrid.BandedGridColumn();
                DevExpress.XtraGrid.Views.BandedGrid.BandedGridColumn colModel = new DevExpress.XtraGrid.Views.BandedGrid.BandedGridColumn();

                colTrademark.Caption = "Trademark" + i.ToString();
                colTrademark.FieldName = "Trademark" + i.ToString();
                colTrademark.Name = "colTrademark" + i.ToString();
                colTrademark.SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Count;
                colTrademark.Visible = true;
                colTrademark.Width = 113;

                colModel.Caption = "Model" + i.ToString();
                colModel.FieldName = "Model" + i.ToString();
                colModel.Name = "colModel" + i.ToString();
                colModel.Visible = true;
                colModel.Width = 104;

                gridBand[i].Caption = "Model" + i.ToString();
                gridBand[i].Columns.Add(colTrademark);
                gridBand[i].Columns.Add(colModel);
                gridBand[i].Name = "gridBand" + i.ToString();
                gridBand[i].Width = 217;
            }
            advBandedGridView1.Bands.AddRange(gridBand);
            advBandedGridView1.GridControl = xgc;
            advBandedGridView1.Name = "advBandedGridView1";
            xgc.MainView = advBandedGridView1;

DataTable dtCars = new DataTable("Cars");
            dtCars.Columns.Add("Trademark0");
            dtCars.Columns.Add("Model0");
            dtCars.Columns.Add("Trademark1");
            dtCars.Columns.Add("Model1");

            DataRow drCars = dtCars.NewRow();
            drCars["Trademark0"] = "BMW";
            drCars["Model0"] = "530i";
            drCars["Trademark1"] = "aaaa";
            drCars["Model1"] = "111";
            dtCars.Rows.Add(drCars);

            drCars = dtCars.NewRow();
            drCars["Trademark0"] = "Cadillac";
            drCars["Model0"] = "Seville";
            drCars["Trademark1"] = "cccc";
            drCars["Model1"] = "2222";
            dtCars.Rows.Add(drCars);

            drCars = dtCars.NewRow();
            drCars["Trademark0"] = "Cadillac";
            drCars["Model0"] = "Deville";
            drCars["Trademark1"] = "ddddd";
            drCars["Model1"] = "3333";
            dtCars.Rows.Add(drCars);

            xgc.DataSource = dtCars;

我怎样才能修复第二个问题?

EN

回答 1

Stack Overflow用户

发布于 2013-01-30 23:59:56

我解决了这个问题。这可能会有帮助..

代码语言:javascript
复制
DevExpress.XtraGrid.Views.BandedGrid.AdvBandedGridView advBandedGridView1 = new DevExpress.XtraGrid.Views.BandedGrid.AdvBandedGridView();
        DevExpress.XtraGrid.Views.BandedGrid.GridBand[] bandArray = new DevExpress.XtraGrid.Views.BandedGrid.GridBand[2];
        DataTable dtAralik = (DataTable)xgcAralik.DataSource;
        for (int i = 0; i < bandArray.Length; i++)
            bandArray[i] = new DevExpress.XtraGrid.Views.BandedGrid.GridBand();
        advBandedGridView1.Bands.AddRange(bandArray);

        advBandedGridView1.GridControl = xgc;
        advBandedGridView1.Name = "advBandedGridView1";
        xgc.MainView = advBandedGridView1;
        for (int i = 0; i < bandArray.Length; i++)
        {
            bandArray[i].Caption = "Aralık" + i.ToString();
            bandArray[i].Columns.Add(new DevExpress.XtraGrid.Views.BandedGrid.BandedGridColumn());
            bandArray[i].Columns.Add(new DevExpress.XtraGrid.Views.BandedGrid.BandedGridColumn());
            bandArray[i].Name = "gridBand" + i.ToString();
            bandArray[i].Width = 217;
        }

        for (int i = 0; i < bandArray.Length; i++)
        {
            bandArray[i].Columns[0].Caption = "TradeMark";
            bandArray[i].Columns[0].FieldName = "Trademark" + i.ToString();
            bandArray[i].Columns[0].Name = "colTrademark" + i.ToString();
            bandArray[i].Columns[0].SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Count;
            bandArray[i].Columns[0].Visible = true;
            bandArray[i].Columns[0].Width = 113;

            bandArray[i].Columns[1].Caption = "Model";
            bandArray[i].Columns[1].FieldName = "Model" + i.ToString();
            bandArray[i].Columns[1].Name = "colModel" + i.ToString();
            bandArray[i].Columns[1].Visible = true;
            bandArray[i].Columns[1].Width = 113;
        }

        DataTable dtCars = new DataTable("Cars");
        dtCars.Columns.Add("Trademark0");
        dtCars.Columns.Add("Model0");
        dtCars.Columns.Add("Trademark1");
        dtCars.Columns.Add("Model1");

        DataRow drCars = dtCars.NewRow();
        drCars["Trademark0"] = "BMW";
        drCars["Model0"] = "530i";
        drCars["Trademark1"] = "aaaa";
        drCars["Model1"] = "111";
        dtCars.Rows.Add(drCars);

        drCars = dtCars.NewRow();
        drCars["Trademark0"] = "Cadillac";
        drCars["Model0"] = "Seville";
        drCars["Trademark1"] = "cccc";
        drCars["Model1"] = "2222";
        dtCars.Rows.Add(drCars);

        drCars = dtCars.NewRow();
        drCars["Trademark0"] = "Cadillac";
        drCars["Model0"] = "Deville";
        drCars["Trademark1"] = "ddddd";
        drCars["Model1"] = "3333";
        dtCars.Rows.Add(drCars);

        xgc.DataSource = dtCars;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14603585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档