怎么将dataGridView1的格式,以.txt的后缀保存到本地?
程序开启的如何先读取这个格式?

解决方案 »

  1.   

    我记得gridView1有一个SaveLayoutToXml方法,可以很方便的保存列的格式到本地磁盘,主要有列号、是否显示、列宽、列标题名称等信息。但现在界面上同时用了dataGridView1与dataGridView2两个控件,也想将它们的列属性保存到本地文件,然后在程序开启时读取这个格式。
    自己太菜了,不知道怎么写!网上也没有搜到!
      

  2.   

    不知道有没有你说的那种方法。这方法考虑下:using System.IO
    public void SaveFile()
            {
                //实例化一个保存文件对话框
                SaveFileDialog sf = new SaveFileDialog();
                //设置文件保存类型
                sf.Filter = "txt文件|*.txt";
                //如果用户没有输入扩展名,自动追加后缀
                sf.AddExtension = true;
                //设置标题
                sf.Title = "写文件";
                //如果用户点击了保存按钮
                if (sf.ShowDialog() == DialogResult.OK)
                {
                    //实例化一个文件流--->与写入文件相关联
                    FileStream fs = new FileStream(sf.FileName, FileMode.Create);
                    //实例化一个StreamWriter-->与fs相关联
                    StreamWriter sw = new StreamWriter(fs);
                    //开始写入
                    if (this.dataGridView1.Rows.Count < 1)
                    {
                        MessageBox.Show("没有数据!导出失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);                }
                    else
                    {
                        for (int i = 0; i < this.dataGridView1.Rows.Count - 1; i++)
                        {
                            sw.WriteLine(this.dataGridView1.Rows[i].Cells[0].Value.ToString());
                        }
                        //sw.Write(this.textBox1.Text);
                        //清空缓冲区
                        sw.Flush();
                        //关闭流
                        sw.Close();
                        fs.Close();
                        MessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
      

  3.   

    保存成.xml格式的也可以,急等!
      

  4.   

    2楼的方法像是将dataGridView1的内容保存出去,我是要求将dataGridView1列的设置参数保存成.xml格式,便于下次程序开启时调用这个格式!
      

  5.   

    下面是利用Devexpress组件,并用它自带的gridView1.SaveLayoutToXml()方法,我希望dataGridView组件也能保存这样的格式和调用。具体保存的格式如下:
    <XtraSerializer version="1.0" application="View">
      <property name="#LayoutVersion" />
      <property name="ActiveFilterEnabled">true</property>
      <property name="Columns" iskey="true" value="10">
        <property name="Item1" isnull="true" iskey="true">
          <property name="VisibleIndex">0</property>
          <property name="Visible">true</property>
          <property name="Width">62</property>
          <property name="Name">col仓库</property>
        </property>
        <property name="Item2" isnull="true" iskey="true">
          <property name="VisibleIndex">1</property>
          <property name="Visible">true</property>
          <property name="Width">115</property>
          <property name="Name">col仓库名称</property>
        </property>
        <property name="Item3" isnull="true" iskey="true">
          <property name="VisibleIndex">2</property>
          <property name="Visible">true</property>
          <property name="Width">70</property>
          <property name="Name">col交易日期</property>
        </property>
        <property name="Item4" isnull="true" iskey="true">
          <property name="VisibleIndex">3</property>
          <property name="Visible">true</property>
          <property name="Width">132</property>
          <property name="Name">col品号</property>
        </property>
        <property name="Item5" isnull="true" iskey="true">
          <property name="VisibleIndex">4</property>
          <property name="Visible">true</property>
          <property name="Width">121</property>
          <property name="Name">col品名</property>
        </property>
        <property name="Item6" isnull="true" iskey="true">
          <property name="VisibleIndex">5</property>
          <property name="Visible">true</property>
          <property name="Width">200</property>
          <property name="Name">col规格</property>
        </property>
        <property name="Item7" isnull="true" iskey="true">
          <property name="VisibleIndex">6</property>
          <property name="Visible">true</property>
          <property name="Width">46</property>
          <property name="Name">col单位</property>
        </property>
        <property name="Item8" isnull="true" iskey="true">
          <property name="VisibleIndex">7</property>
          <property name="Visible">true</property>
          <property name="Width">81</property>
          <property name="Name">col库存数量</property>
        </property>
        <property name="Item9" isnull="true" iskey="true">
          <property name="VisibleIndex">8</property>
          <property name="Visible">true</property>
          <property name="Width">130</property>
          <property name="Name">col批号</property>
        </property>
        <property name="Item10" isnull="true" iskey="true">
          <property name="VisibleIndex">9</property>
          <property name="Visible">true</property>
          <property name="Width">106</property>
          <property name="Name">col批号说明</property>
        </property>
      </property>
      <property name="OptionsView" isnull="true" iskey="true">
        <property name="EnableAppearanceOddRow">true</property>
        <property name="EnableAppearanceEvenRow">true</property>
        <property name="ColumnAutoWidth">false</property>
      </property>
      <property name="ActiveFilterString" />
      <property name="GroupSummarySortInfoState" />
    </XtraSerializer>
      

  6.   

    using System.IO
    public void SaveFile()
            {
                //实例化一个保存文件对话框
                SaveFileDialog sf = new SaveFileDialog();
                //设置文件保存类型
                sf.Filter = "txt文件|*.txt";
                //如果用户没有输入扩展名,自动追加后缀
                sf.AddExtension = true;
                //设置标题
                sf.Title = "写文件";
                //如果用户点击了保存按钮
                if (sf.ShowDialog() == DialogResult.OK)
                {
                    //实例化一个文件流--->与写入文件相关联
                    FileStream fs = new FileStream(sf.FileName, FileMode.Create);
                    //实例化一个StreamWriter-->与fs相关联
                    StreamWriter sw = new StreamWriter(fs);
                    //开始写入
                    if (this.dataGridView1.Rows.Count < 1)
                    {
                        MessageBox.Show("没有数据!导出失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);                }
                    else
                    {
                        for (int i = 0; i < this.dataGridView1.Rows.Count - 1; i++)
                        {
                            sw.WriteLine(this.dataGridView1.Rows[i].Cells[0].Value.ToString());
                        }
                        //sw.Write(this.textBox1.Text);
                        //清空缓冲区
                        sw.Flush();
                        //关闭流
                        sw.Close();
                        fs.Close();
                        MessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
      

  7.   

    自己把dataGridView1的格式属性、每一列的格式属性存到Xml里,然后读取就行了,技术上不难.
      

  8.   

    自己对XML还不太熟悉,更谈不上读写文件了.由于时间紧,希望有做过之方面的朋友援助一下.