如何将dataGridView1格式保存与读取 怎么将dataGridView1的格式,以.txt的后缀保存到本地?程序开启的如何先读取这个格式? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我记得gridView1有一个SaveLayoutToXml方法,可以很方便的保存列的格式到本地磁盘,主要有列号、是否显示、列宽、列标题名称等信息。但现在界面上同时用了dataGridView1与dataGridView2两个控件,也想将它们的列属性保存到本地文件,然后在程序开启时读取这个格式。自己太菜了,不知道怎么写!网上也没有搜到! 不知道有没有你说的那种方法。这方法考虑下:using System.IOpublic 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); } } } 保存成.xml格式的也可以,急等! 2楼的方法像是将dataGridView1的内容保存出去,我是要求将dataGridView1列的设置参数保存成.xml格式,便于下次程序开启时调用这个格式! 下面是利用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> using System.IOpublic 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); } } } 自己把dataGridView1的格式属性、每一列的格式属性存到Xml里,然后读取就行了,技术上不难. 自己对XML还不太熟悉,更谈不上读写文件了.由于时间紧,希望有做过之方面的朋友援助一下. Webform里面Textbox的字符长度问题。 c# AutoResetEvent 控制线程暂停,恢复的问题 为什么派生类访问不到基类中受保护的成员啊,求救? vs引用问题 winform中拖动的问题 .net程序部署问题 在问一个多线程的问题,如何管理线程 关于treeview中Node设定的目录怎样去联接. 如何隐藏datagrid中系统的右击菜单 [求助]如何用C#编写访问SQL的程序 请教关于更新数据库的问题 C#执行executescalar()方法无结果时如何处理
自己太菜了,不知道怎么写!网上也没有搜到!
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);
}
}
}
<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>
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);
}
}
}