现在想做个界面,有两个按钮实现前一页后一页功能,界面是不是要用panel来实现呢,还有这两个按钮的代码界面

解决方案 »

  1.   

    参考http://blog.csdn.net/downmoon/article/details/6177224
    http://blog.csdn.net/gisfarmer/article/details/2771166
      

  2.   

    版主的都是实现datagrid的,我的设计是这样的,界面上有text显示信息,界面下面是个grid显示从表信息,我想点了前一页之后整个一起翻页,devexpress有个这个控件,只是不太会,我不想要上面的保存添加功能,有人会弄么
      

  3.   

    不太明白楼主要表达的是什么意思。 TEXT显示信息,又表示什么信息呢 。要整个一期翻页的话 完全不需要devexpress吧   
    照 我的理解 楼主可能是想这样的 比如  有类似的一张主表A  :  用户ID ,用户姓名  ,家庭住址等等。 附表为用户ID表,用户姓名表,家庭住址表。 这样的么?  TEXT 输出 上面的A的 一个东西,然后在GRID里就显示这附表的内容。 是这样吧?  那只要绑定 就好了  基本和单表查询没什么区别。 
      

  4.   

    界面显示的就是主表和从表的信息,翻页怎么做啊
    写个简单的给你 用来读取文件的public partial class Form1 : Form
        {
            List<string> t_name = new List<string>();
            List<string> info = new List<string>();
            int pageNo = 0;
            public Form1()
            {
                InitializeComponent();
            }
            private void Form1_Load(object sender, EventArgs e)
            {
                this.button1.Enabled = false;
                this.button2.Enabled = false;
                info.Clear();
                t_name.Add("C:\\sika00\\SYSTEM\\HSYS.INI");
                t_name.Add("C:\\sika00\\SYSTEM\\WSYS.INI");
                t_name.Add("C:\\sika00\\SYSTEM\\除外患者.INI");
                this.dataGridView1.ColumnCount = 1;
                this.dataGridView1.RowCount = 1;
                textBox1.Text = Tname(pageNo);
                if (File.Exists(Tname(pageNo)))
                {
                    StreamReader r_reader = new StreamReader(Tname(0), System.Text.Encoding.Default);
                    while (r_reader.Peek() >= 0)
                    {
                        string w = r_reader.ReadLine();
                        info.Add(w);
                    }
                    r_reader.Close();
                    this.dataGridView1.RowCount = info.Count;
                }
                else
                {
                    MessageBox.Show(Tname(0) + ": 此文件不存在");
                }            btn_enable();
            }        //文件名取得
            string Tname(int no)
            {
                return t_name[no];
            }        //按钮是否可按 判断
            void btn_enable()
            {
                if (pageNo < t_name.Count - 1)
                {
                    this.button2.Enabled = true;
                }
                else
                {
                    this.button2.Enabled = false;
                }
                if (pageNo > 0)
                {
                    this.button1.Enabled = true;
                }
                else
                {
                    this.button1.Enabled = false;
                }
            }        // 上一页按下
            private void button1_Click(object sender, EventArgs e)
            {
                pageNo--;
                info.Clear();
                textBox1.Text = Tname(pageNo);
                this.dataGridView1 = new DataGridView();
                this.dataGridView1.ColumnCount = 0;
                this.dataGridView1.RowCount = 1;
                if (File.Exists(Tname(pageNo)))
                {
                    StreamReader r_reader = new StreamReader(Tname(pageNo), System.Text.Encoding.Default);
                    while (r_reader.Peek() >= 0)
                    {
                        string w = r_reader.ReadLine();
                        info.Add(w);
                    }
                    r_reader.Close();
                    this.dataGridView1.RowCount = info.Count;
                }
                else
                {
                    MessageBox.Show(Tname(0) + ": 此文件不存在");
                }            btn_enable();
            }        // 下一页按下
            private void button2_Click(object sender, EventArgs e)
            {
                pageNo++;
                info.Clear();
                textBox1.Text = Tname(pageNo);
                this.dataGridView1.ColumnCount = 0;
                this.dataGridView1.RowCount = 1;
                if (File.Exists(Tname(pageNo)))
                {
                    StreamReader r_reader = new StreamReader(Tname(pageNo), System.Text.Encoding.Default);
                    while (r_reader.Peek() >= 0)
                    {
                        string w = r_reader.ReadLine();
                        info.Add(w);
                    }
                    r_reader.Close();
                    this.dataGridView1.RowCount = info.Count;
                }
                else
                {
                    MessageBox.Show(Tname(0) + ": 此文件不存在");
                }            btn_enable();
            }        private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
            {
                e.Paint(e.ClipBounds, DataGridViewPaintParts.All);
                string w = "";
                if (e.RowIndex >= 0)
                    w = info[e.RowIndex];
                e.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit;
                TextRenderer.DrawText(e.Graphics, w, dataGridView1.Font, e.CellBounds, dataGridView1.ForeColor);
                e.Handled = true;
            }有什么不理解再说 思路就是这么做的
      

  5.   

    代码整理一下 稍微 简洁一点 public partial class Form1 : Form
        {
            List<string> t_name = new List<string>();
            List<string> info = new List<string>();
            int pageNo = 0;
            public Form1()
            {
                InitializeComponent();
            }
            private void Form1_Load(object sender, EventArgs e)
            {
                this.button1.Enabled = false;
                this.button2.Enabled = false;
                t_name.Add("C:\\sika00\\SYSTEM\\HSYS.INI");
                t_name.Add("C:\\sika00\\SYSTEM\\WSYS.INI");
                t_name.Add("C:\\sika00\\SYSTEM\\除外患者.INI");
                this.dataGridView1.ColumnCount = 1;
                this.dataGridView1.RowCount = 1;
                data_get();
            }        //文件名取得
            string Tname(int no)
            {
                return t_name[no];
            }        //按钮是否可按 判断
            void btn_enable()
            {
                if (pageNo < t_name.Count - 1)
                {
                    this.button2.Enabled = true;
                }
                else
                {
                    this.button2.Enabled = false;
                }
                if (pageNo > 0)
                {
                    this.button1.Enabled = true;
                }
                else
                {
                    this.button1.Enabled = false;
                }
            }
            //数据取得
            void data_get()
            {
                info.Clear();
                textBox1.Text = Tname(pageNo);
                if (File.Exists(Tname(pageNo)))
                {
                    StreamReader r_reader = new StreamReader(Tname(pageNo), System.Text.Encoding.Default);
                    while (r_reader.Peek() >= 0)
                    {
                        string w = r_reader.ReadLine();
                        info.Add(w);
                    }
                    r_reader.Close();
                    this.dataGridView1.RowCount = info.Count;
                }
                else
                {
                    MessageBox.Show(Tname(0) + ": 此文件不存在");
                }            btn_enable();
                dataGridView1.Refresh();
            }        // 上一页按下
            private void button1_Click(object sender, EventArgs e)
            {
                pageNo--;
                data_get();
            }        // 下一页按下
            private void button2_Click(object sender, EventArgs e)
            {
                pageNo++;
                data_get();
            }        private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
            {
                e.Paint(e.ClipBounds, DataGridViewPaintParts.All);
                string w = "";
                if (e.RowIndex >= 0)
                    w = info[e.RowIndex];
                e.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit;
                TextRenderer.DrawText(e.Graphics, w, dataGridView1.Font, e.CellBounds, dataGridView1.ForeColor);
                e.Handled = true;
            }
        }
      

  6.   

    要把界面上的text也一起换下一条信息,是不是要绑定dataset,又该怎么弄呢
      

  7.   

    界面显示的就是主表和从表的信息,翻页怎么做啊
    写个简单的给你 用来读取文件的public partial class Form1 : Form
        {
            List<string> t_name = new List<string>();
            List<string> info = new List<string>();
            int pageNo = 0;
            public Form1()
            {
                InitializeComponent();
            }
            private void Form1_Load(object sender, EventArgs e)
            {
                this.button1.Enabled = false;
                this.button2.Enabled = false;
                info.Clear();
                t_name.Add("C:\\sika00\\SYSTEM\\HSYS.INI");
                t_name.Add("C:\\sika00\\SYSTEM\\WSYS.INI");
                t_name.Add("C:\\sika00\\SYSTEM\\除外患者.INI");
                this.dataGridView1.ColumnCount = 1;
                this.dataGridView1.RowCount = 1;
                textBox1.Text = Tname(pageNo);
                if (File.Exists(Tname(pageNo)))
                {
                    StreamReader r_reader = new StreamReader(Tname(0), System.Text.Encoding.Default);
                    while (r_reader.Peek() >= 0)
                    {
                        string w = r_reader.ReadLine();
                        info.Add(w);
                    }
                    r_reader.Close();
                    this.dataGridView1.RowCount = info.Count;
                }
                else
                {
                    MessageBox.Show(Tname(0) + ": 此文件不存在");
                }            btn_enable();
            }        //文件名取得
            string Tname(int no)
            {
                return t_name[no];
            }        //按钮是否可按 判断
            void btn_enable()
            {
                if (pageNo < t_name.Count - 1)
                {
                    this.button2.Enabled = true;
                }
                else
                {
                    this.button2.Enabled = false;
                }
                if (pageNo > 0)
                {
                    this.button1.Enabled = true;
                }
                else
                {
                    this.button1.Enabled = false;
                }
            }        // 上一页按下
            private void button1_Click(object sender, EventArgs e)
            {
                pageNo--;
                info.Clear();
                textBox1.Text = Tname(pageNo);
                this.dataGridView1 = new DataGridView();
                this.dataGridView1.ColumnCount = 0;
                this.dataGridView1.RowCount = 1;
                if (File.Exists(Tname(pageNo)))
                {
                    StreamReader r_reader = new StreamReader(Tname(pageNo), System.Text.Encoding.Default);
                    while (r_reader.Peek() >= 0)
                    {
                        string w = r_reader.ReadLine();
                        info.Add(w);
                    }
                    r_reader.Close();
                    this.dataGridView1.RowCount = info.Count;
                }
                else
                {
                    MessageBox.Show(Tname(0) + ": 此文件不存在");
                }            btn_enable();
            }        // 下一页按下
            private void button2_Click(object sender, EventArgs e)
            {
                pageNo++;
                info.Clear();
                textBox1.Text = Tname(pageNo);
                this.dataGridView1.ColumnCount = 0;
                this.dataGridView1.RowCount = 1;
                if (File.Exists(Tname(pageNo)))
                {
                    StreamReader r_reader = new StreamReader(Tname(pageNo), System.Text.Encoding.Default);
                    while (r_reader.Peek() >= 0)
                    {
                        string w = r_reader.ReadLine();
                        info.Add(w);
                    }
                    r_reader.Close();
                    this.dataGridView1.RowCount = info.Count;
                }
                else
                {
                    MessageBox.Show(Tname(0) + ": 此文件不存在");
                }            btn_enable();
            }        private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
            {
                e.Paint(e.ClipBounds, DataGridViewPaintParts.All);
                string w = "";
                if (e.RowIndex >= 0)
                    w = info[e.RowIndex];
                e.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit;
                TextRenderer.DrawText(e.Graphics, w, dataGridView1.Font, e.CellBounds, dataGridView1.ForeColor);
                e.Handled = true;
            }有什么不理解再说 思路就是这么做的
    不理解啊
      

  8.   

    哪里不理解呢?
    把流程列一下给你:
    1, 把你主表的东西取出来 放到一个LIST里面(比如 主表取出来 为表A,B,C)
    2,根据主表取出来的表名去取附表的信息
    TEXT显示当前的附表面(A,B,C),下面的GRID显示的附表的内容
    而我写的临时代码 ,为了简单 用的是取文件的,t_name.Add("C:\\sika00\\SYSTEM\\HSYS.INI");             
    t_name.Add("C:\\sika00\\SYSTEM\\WSYS.INI");             
    t_name.Add("C:\\sika00\\SYSTEM\\除外患者.INI"); 相当于主表取出来的 表A,B,Cif (File.Exists(Tname(pageNo)))             
    {                 
    StreamReader r_reader = new StreamReader(Tname(pageNo), System.Text.Encoding.Default);                 
    while (r_reader.Peek() >= 0)                 
    {                     
    string w = r_reader.ReadLine();                     
    info.Add(w);                 
    }                 
    r_reader.Close();                 
    this.dataGridView1.RowCount = info.Count;             
    }             
    else            
    {                 
    MessageBox.Show(Tname(0) + ": 此文件不存在");             
    }   相当于去取附表信息(我这是在取文件里面的内容)。private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)         
    {             
    e.Paint(e.ClipBounds, DataGridViewPaintParts.All);             
    string w = "";             
    if (e.RowIndex >= 0)                 
    w = info[e.RowIndex];             
    e.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit;             TextRenderer.DrawText(e.Graphics, w, dataGridView1.Font, e.CellBounds, dataGridView1.ForeColor);             
    e.Handled = true;         
    }用描绘的方式给GRID 赋值 因为你换表的时候,GRID的值是要重新改变的 
    你的上一页 和 下一页 无非是 你去显示主表LIST里的 上一个 附表的内容 或 下一个附表的内容