【问题标题】:on button click export to csv using devexpress xtragrid在按钮上单击使用 devexpress xtragrid 导出到 csv
【发布时间】:2014-05-18 16:58:16
【问题描述】:

我正在使用 devxtra 网格控件和 devexpress xtra bar。我想做的是

1) 我在栏上有一个按钮,它应该选择网格中的所有行,然后导出到 csv。 我正在使用 Itemclick 事件,并且我正在使用 gridView1.SelectAll() 但在输出中没有选择任何内容。

******************************设计师********************** **************

           // barButtonSelectAll

        // 
        this.barButtonSelectAll.Caption = "Select All";
        this.barButtonSelectAll.Id = 1;
        //this.barButtonSelectAll.Glyph = true;
        this.barButtonSelectAll.Width = 50;
   this.barButtonSelectAll.LargeGlyph=global::Binder.Resources.close_16;
        this.barButtonSelectAll.Name = "barButtonSelectAll";
        this.barButtonSelectAll.ItemClick+=newDevExpress.XtraBars.ItemClickEventHandler(this.barButtonSelectAll_ItemClick);
        //  

            // gridControl1
        // 
        this.gridControl1.Dock = System.Windows.Forms.DockStyle.Fill;
        this.gridControl1.Location = new System.Drawing.Point(0, 0);
        this.gridControl1.MainView = this.gridView1;
        this.gridControl1.MenuManager = this.barCopyResult;
        this.gridControl1.Name = "gridControl1";
        this.gridControl1.Size = new System.Drawing.Size(922, 441);
        this.gridControl1.TabIndex = 4;
        this.gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
        this.gridView1});
        // 
        // gridView1
        // 
        this.gridView1.GridControl = this.gridControl1;
        this.gridView1.Name = "gridView1";
        this.gridView1.OptionsView.ShowGroupPanel = false;
        // 

******************************代码********************** **************

 private void barButtonSelectAll_ItemClick (object sender, DevExpress.XtraBars.ItemClickEventArgs e)
    {
        //StreamWriter sw = new StreamWriter("D:\\gridview.csv");
        //for (int i = 0; i < gridView1.Columns.Count; i++)
        //{
    //sw.Write(gridView1.Columns[i].AppearanceHeader.TextOptions.ToString());
        //  if (i != gridView1.Columns.Count)
        //  {
        //      sw.Write(",");
        //  }
        //  sw.Write(sw.NewLine);
        //  foreach( GridViewRow dr in gridView1.RowCount)
        //}
        gridView1.SelectAll();
        for (int i = 0; i < gridView1.RowCount; i++)
        {
            //gridView1.GetDetailView(1,1);
            gridControl1.ExportToCsv("D:\\csv docs");
        }
        //MessageBox.Show("Hola");
    }

【问题讨论】:

    标签: csv devexpress export-to-csv xtragrid


    【解决方案1】:

    首先,检查GridView.OptionsSelection.MultiSelect 属性,因为如果此属性设置为falseGridView.SelectAll 方法什么都不做

    其次,要将 GridControl 的视图显示的所有数据以CSV 格式导出到指定文件,您不应在此视图中选择任何内容。此外,您不应该为每一行循环调用此方法。
    只需使用以下代码:

    void barButtonExport_Click(object sender, DevExpress.XtraBars.ItemClickEventArgs e) {
        gridView1.ExportToCsv(@"D:\csv docs\1.csv");
    }
    

    备注:
    ExportToCsv 方法间接调用 XtraPrinting 库的 DevExpress.XtraPrinting.PrintingSystemBase.ExportToCsv 方法。如果此库不可用,则该方法不执行任何操作。

    有关在 GridControl 中导出数据的一般信息,请参阅Export Overview

    【讨论】:

      猜你喜欢
      • 2016-01-25
      • 1970-01-01
      • 2023-02-16
      • 1970-01-01
      • 2021-01-30
      • 2021-07-27
      • 2012-09-07
      • 1970-01-01
      • 2017-01-07
      相关资源
      最近更新 更多