在Winform中如何实现GridControl数据导出到word,pdf文档?GridControl如何实现分页?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Winform中如何实现GridControl数据导出到word,pdf文档?GridControl如何实现分页?相关的知识,希望对你有一定的参考价值。

还有xpPageSelector应该如何使用??请不要随意在网上复制粘贴,最好能给出切实的解决方案。。。。
已解决数据导出问题,有没有高人可以指点一下GridControl怎样实现分页还有xpPageSelector如何使用啊??翘首期盼高人驾到。。。。

参考技术A 官方的
http://www.devexpress.com/Support/Center/e/E1233.aspx

c# devexpress 中的Gridcontrol 添加行问题

此控件跟VS自带的控件有很大区别。我要实现的是像VS的ListView那样添加和获取数据。请帮忙下。具体就是手动写代码添加行,修改行,获取行,删除行。怎么实现呢? 谢谢。写的是winForm的程序。

1)向Form1中拖入一个GridControl,两个Button

2)后台代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace WindowsFormsApplication1

    public partial class Form1 : Form
    
        List<Student> studentList; 
        int studentId = 1;

        public Form1()
        
            InitializeComponent();
            
            button1.Text = "添加新行";
            button2.Text = "删除选定行";

            BuildDataSource();
        
        //为gridcontrol1准备数据源
        private void BuildDataSource()
        
            studentList = new List<Student>();
            studentList.Add(new Student(studentId++)
                  Name = "张三", Course = "数学", Score = 100 );
            studentList.Add(new Student(studentId++)
                  Name = "李四", Course = "数学", Score = 90 );
            studentList.Add(new Student(studentId++)
                  Name = "王五", Course = "数学", Score = 91 );
            //绑定!
            gridControl1.DataSource = studentList;
        
        //添加行
        private void button1_Click(object sender, EventArgs e)
        
            //添加行,实际上是向数据源(List<Student>集合)添加新的元素
            Student stu = new Student(studentId++) 
                 Name = "钱七", Course = "外语", Score = 34 ;
            studentList.Add(stu);
            //向数据源中新加行后,GridControl中自动会添加新行
            gridControl1.RefreshDataSource();
        
        //删除行
        private void button2_Click(object sender, EventArgs e)
        
            //获取所有被选行
            int[] rowIds = gridView1.GetSelectedRows();
            if (rowIds.Length == 0) return;
            //删除
            foreach (int rowId in rowIds)
            
                int stuId = (int)gridView1.GetRowCellValue(rowIds[0], "Id");
                Student stu = studentList.First(s => s.Id == stuId);
                studentList.Remove(stu);
            
            //从数据源中删除行后,GridControl中自动会删除对于的行
            gridControl1.RefreshDataSource();
        
    

    //----------------------------------------
    //学生成绩类
    class Student
    
        public Student(int id)
        
            Id = id;
        
        //学号
        public int Id  get; private set; 
        //姓名
        public string Name  get; set; 
        //课程
        public string Course  get; set; 
        //成绩
        public float Score  get; set; 
    

3)可直接在GridControl中修改行,不需要额外编程(除非你想校验输入数据的合法性)

------

总结: 对 Devexpress GridControl中增、删、修改,实际上是对数据源(数据集合)的增、删、修改。也就是说:对数据源修改会"反映"到界面的控件上。

参考技术A 用datagridview

以上是关于在Winform中如何实现GridControl数据导出到word,pdf文档?GridControl如何实现分页?的主要内容,如果未能解决你的问题,请参考以下文章

WinForm版本的DevExpress控件 gridControl 如何从数据库中排序

WinForm中devexpress下的gridcontrol下gridview中我想实现以下效果,红色字随单据状态改变而改变

C# winform DevExpress GridControl 大批量数据(9万行+4百列)导出Excel报错,内存溢出,怎么办?

WinForm------GridControl控件中使用SearchLookUpEdit控件的方法

c# devexpress 中的Gridcontrol 添加行问题

DevExpress+Winform