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

devexpress xtragrid使用循环以编程方式创建,devexpress,xtragrid,Devexpress,Xtragrid,我使用带有高级带状网格视图的devexpress xtragrid。网格将在运行时以编程方式创建。我写的代码,它的工作。但是现在我需要用一个循环来创建网格,我的意思是我不知道列号,这取决于用户 这是我的第一个代码(成功了): 循环一(它不工作): DevExpress.XtraGrid.Views.bandegrid.GridBand[]GridBand=new-DevExpress.XtraGrid.Views.bandegrid.GridBand[2]; 对于(int i=0;i

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

这是我的第一个代码(成功了):

循环一(它不工作):

DevExpress.XtraGrid.Views.bandegrid.GridBand[]GridBand=new-DevExpress.XtraGrid.Views.bandegrid.GridBand[2];
对于(int i=0;i<2;i++)
{
gridBand[i]=new DevExpress.XtraGrid.Views.bandegrid.gridBand();
DevExpress.XtraGrid.Views.bandegrid.bandegridColumn colTrademark=新建DevExpress.XtraGrid.Views.bandegrid.bandegridColumn();
DevExpress.XtraGrid.Views.bandegrid.bandegridColumn colModel=新建DevExpress.XtraGrid.Views.bandegrid.bandegridColumn();
colTrademark.Caption=“商标”+i.ToString();
colTrademark.FieldName=“商标”+i.ToString();
colTrademark.Name=“colTrademark”+i.ToString();
colTrademark.SummaryItem.SummaryType=DevExpress.Data.SummaryItemType.Count;
colTrademark.Visible=true;
宽度=113;
colModel.Caption=“Model”+i.ToString();
colModel.FieldName=“Model”+i.ToString();
colModel.Name=“colModel”+i.ToString();
colModel.Visible=true;
colModel.宽度=104;
gridBand[i].Caption=“Model”+i.ToString();
gridBand[i].Columns.Add(colTrademark);
gridBand[i].Columns.Add(colModel);
gridBand[i].Name=“gridBand”+i.ToString();
网格带[i].宽度=217;
}
advBandedGridView1.Bands.AddRange(gridBand);
advBandedGridView1.GridControl=xgc;
advBandedGridView1.Name=“advBandedGridView1”;
xgc.MainView=advbandedgridview 1;
数据表dtCars=新数据表(“Cars”);
dtCars.Columns.Add(“商标0”);
dtCars.Columns.Add(“Model0”);
dtCars.Columns.Add(“商标1”);
dtCars.Columns.Add(“模型1”);
DataRow drCars=dtCars.NewRow();
drCars[“商标0”]=“宝马”;
drCars[“Model0”]=“530i”;
drCars[“商标1”]=“aaaa”;
drCars[“Model1”]=“111”;
dtCars.Rows.Add(drCars);
drCars=dtCars.NewRow();
drCars[“商标0”]=“凯迪拉克”;
drCars[“Model0”]=“塞维利亚”;
drCars[“商标1”]=“cccc”;
drCars[“Model1”]=“2222”;
dtCars.Rows.Add(drCars);
drCars=dtCars.NewRow();
drCars[“商标0”]=“凯迪拉克”;
drCars[“Model0”]=“Deville”;
drCars[“商标1”]=“DDD”;
drCars[“Model1”]=“3333”;
dtCars.Rows.Add(drCars);
xgc.DataSource=dtCars;

如何修复第二个问题?

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

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;
DevExpress.XtraGrid.Views.bandegrid.advandegridview advandegridview1=新建DevExpress.XtraGrid.Views.bandegrid.advandegridview();
DevExpress.XtraGrid.Views.bandegrid.GridBand[]bandArray=新建DevExpress.XtraGrid.Views.bandegrid.GridBand[2];
DataTable dtAralik=(DataTable)xgcAralik.DataSource;
对于(int i=0;i
我解决了这个问题。可能是h
 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;
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;