对于这样一个存放在内存中的临时表
Id ParentId
1 0
2 0
3 0
4 2
5 2
6 4
7 3
如何能够在把它输出成文本文件时写成如下形式文本
1
4
6
5
2
3
7
我只能够根据ID顺序生成文本...
StreamWriter objWriter=new StreamWriter("C:\\TreeFile.men", false, Encoding.Default);
//遍历TreeView
System.Text.StringBuilder strTemp = new StringBuilder();
int TempCount = dtTree.Rows.Count;
MessageBox.Show(TempCount.ToString());
for (int i = 0; i<TempCount; i++) {
string strAdd = null;
for (int j = 1; j < dtTree.Rows[i].ItemArray.Length - 2; j++) {
// MessageBox.Show(treeViewGetMen.Nodes[i-1].ToString());
strAdd = strAdd + dtTree.Rows[i][j].ToString();
//strTemp.Append(dtTree.Rows[i][j].ToString());
//strTemp.Append("\r\n");
}
strTemp.Append(strAdd);
strTemp.Append("\r\n");
}
string strResult = strTemp.ToString();
//MessageBox.Show(strResult);
objWriter.WriteLine(strResult);
objWriter.Close();
Id ParentId
1 0
2 0
3 0
4 2
5 2
6 4
7 3
如何能够在把它输出成文本文件时写成如下形式文本
1
4
6
5
2
3
7
我只能够根据ID顺序生成文本...
StreamWriter objWriter=new StreamWriter("C:\\TreeFile.men", false, Encoding.Default);
//遍历TreeView
System.Text.StringBuilder strTemp = new StringBuilder();
int TempCount = dtTree.Rows.Count;
MessageBox.Show(TempCount.ToString());
for (int i = 0; i<TempCount; i++) {
string strAdd = null;
for (int j = 1; j < dtTree.Rows[i].ItemArray.Length - 2; j++) {
// MessageBox.Show(treeViewGetMen.Nodes[i-1].ToString());
strAdd = strAdd + dtTree.Rows[i][j].ToString();
//strTemp.Append(dtTree.Rows[i][j].ToString());
//strTemp.Append("\r\n");
}
strTemp.Append(strAdd);
strTemp.Append("\r\n");
}
string strResult = strTemp.ToString();
//MessageBox.Show(strResult);
objWriter.WriteLine(strResult);
objWriter.Close();
解决方案 »
- winform中如何使checkedListBox的某一项禁用
- C# winform问题!
- 求教 如何使TextBox输出的文字是换行的和带空格的
- 模板传参的问题
- 控件使用问题 解决后散分 在线等 谢谢!
- 正则高手请进,如何提取HTML网页源代码中的JAVASCRIPT片段
- C#开发的C/S结构的程序传送大文件,用什么技术呢?
- 100分求助:Winform下如何取消当前的打印任务啊??
- 问个逻辑问题
- 请教,学VC好呢,还是学C#好?
- 有人给我发了些代码,用ultraedit打开是十六进制的,不用十六进制显示就什么都看不到了
- 谁有在Mobile 5.0下面使用移动设备组件 opennetcf资料.
我就是按照你的blog生成的DataTable然后生成了TreeView
现在我在对TreeView进行操作后修改了DataTable,现在要重新把DataTable中的内容写成文本,应该怎样做呢?
即类似于xml那样,要把treeview每个节点的信息都保存下来。
这里我对DataTable中其他的字段进行相关的处理操作然后再生成文本
这里我对DataTable中其他的字段进行相关的处理操作然后再生成文本
{
foreach (DataRow dr in dt.Select("ParentId=" + SelectNum.ToString()))
{
objWriter.WriteLine(leftSpace + dr["id"].ToString());
WriteTree(dt,objWriter,leftSpace + " ",Convert.ToInt32(dr["id"]));
}
}//调用方法
DataTable dt = new DataTable();
dt.Columns.Add("id");
dt.Columns.Add("ParentId");
DataRow dr = dt.NewRow();
dr[0]=1;
dr[1]=0;
dt.Rows.Add(dr); dr = dt.NewRow();
dr[0]=2;
dr[1]=0;
dt.Rows.Add(dr); dr = dt.NewRow();
dr[0]=3;
dr[1]=0;
dt.Rows.Add(dr); dr = dt.NewRow();
dr[0]=4;
dr[1]=2;
dt.Rows.Add(dr); dr = dt.NewRow();
dr[0]=5;
dr[1]=2;
dt.Rows.Add(dr); dr = dt.NewRow();
dr[0]=6;
dr[1]=4;
dt.Rows.Add(dr); dr = dt.NewRow();
dr[0]=7;
dr[1]=3;
dt.Rows.Add(dr); StreamWriter objWriter=new StreamWriter("D:\\TreeFile.men", false, System.Text.Encoding.Default);
WriteTree(dt,objWriter,"",0);
objWriter.Close();