前不久做了这么个功能(用户登入,到服务器端读取该用户的配置文件 然后在界面上显示) 想可能有些人会用到 把源代码贴上来,大家给提点意见 ^_^
1
/// <summary>
2
/// 获取 用户配置
3
/// </summary>
4
/// <param name="UserName"></param>
5
/// <param name="TableName"></param>
6
/// <returns></returns>
7
public List<string> GetUserLog(string UserName, string TableName)
8
{
9
string path = GetUserLogPath(UserName);
10![](/Images/OutliningIndicators/InBlock.gif)
11
if (File.Exists(path))
12
{
13
XmlDocument xmlDoc = new XmlDocument();
14
xmlDoc.Load(path);
15
XmlNodeList tables = xmlDoc.SelectNodes("//UserLogs/table");
16![](/Images/OutliningIndicators/InBlock.gif)
17
if (tables.Count > 0)
18
{
19
foreach (XmlNode table in tables)
20
{
21
if (table.Attributes[0].Value == TableName)
22
{
23
XmlNodeList tableSub = table.ChildNodes;
24
if (tableSub.Count > 0)
25
{
26
List<string> ColsValues = new List<string>();
27
foreach (XmlNode sub in tableSub)
28
{
29
ColsValues.Add(sub.InnerText);
30
}
31
return ColsValues;
32
}
33
else
34
return null;
35
}
36
//else
37
// return null;
38
}
39
return null;
40
}
41
else
42
return null;
43
}
44
else
45
{
46
XmlTextWriter xmlWriter = new XmlTextWriter(path, Encoding.Default);
47
xmlWriter.Formatting = Formatting.Indented;
48
xmlWriter.WriteStartDocument();
49
xmlWriter.WriteProcessingInstruction("xml-stylesheet", "type=\"text/xsl\" href=\"\"");
50
xmlWriter.WriteStartElement("UserLogs");
51
xmlWriter.WriteEndElement();
52
xmlWriter.Close();
53
return null;
54![](/Images/OutliningIndicators/InBlock.gif)
55
}
56![](/Images/OutliningIndicators/InBlock.gif)
57
}
58
public void AddXmlNode(string path, XmlDocument xmlDoc, string TbName, List<string> Cols)
59
{
60
XmlNode root = xmlDoc.SelectSingleNode("UserLogs");
61
XmlElement xe1 = xmlDoc.CreateElement("table");
62
xe1.SetAttribute("name", TbName);
63
foreach (string col in Cols)
64
{
65
XmlElement xe1_sub = xmlDoc.CreateElement("col");
66
xe1_sub.InnerText = col;
67
xe1.AppendChild(xe1_sub);
68
}
69
root.AppendChild(xe1);
70
xmlDoc.Save(path);
71
}
72
/// <summary>
73
/// 用户修改配置(xml文件先删除再重写)
74
/// </summary>
75
/// <param name="Username"></param>
76
/// <param name="TableName"></param>
77
/// <param name="Cols"></param>
78
/// <returns></returns>
79
public bool UpdateUserLog(string Username, string TableName, List<string> Cols)
80
{
81
string path = GetUserLogPath(Username);
82
int i = 0;
83
if (path != "")
84
{
85
XmlDocument xmlDoc = new XmlDocument();
86
xmlDoc.Load(path);
87
XmlNodeList tables = xmlDoc.SelectNodes("//UserLogs/table");
88
if (tables.Count > 0)
89
{
90
foreach (XmlNode node in tables)
91
{
92
if (node.Attributes[0].Value == TableName)//修改原来table的配置
93
{
94
node.RemoveAll();
95
i++;
96
if (node.ParentNode != null)
97
node.ParentNode.RemoveChild(node);
98
AddXmlNode(path, xmlDoc, TableName, Cols);
99
break;
100
}
101![](/Images/OutliningIndicators/InBlock.gif)
102
}
103
if (i == 0)
104
AddXmlNode(path, xmlDoc, TableName, Cols);
105
return true;
106
}
107
else
108
{
109
AddXmlNode(path, xmlDoc, TableName, Cols);
110
}
111![](/Images/OutliningIndicators/InBlock.gif)
112
}
113
return false;
114
}
115
/// <summary>
116
/// 获得安装服务器上的用户配置文件路径
117
/// </summary>
118
/// <param name="UserName"></param>
119
/// <returns></returns>
120
private string GetUserLogPath(string UserName)
121
{
122
frm_Monitor Mon = new frm_Monitor();
123
string ApplicationP = Mon.AppinPath;
124
//TempPath tt = new TempPath();
125
//string ApplicationP = tt.AppinPath;
126
string[] ApplicationPath = ApplicationP.Split('\\');
127
string path = "";
128
if (ApplicationPath.Length > 0)
129
{
130
foreach (string str in ApplicationPath)
131
{
132
if (str == "App_Server")
133
break;
134
else
135
path += str + @"\";
136
}
137
if (path != "")
138
{
139
path += @"UserLog\" + UserName + ".xml";
140![](/Images/OutliningIndicators/InBlock.gif)
141
}
142![](/Images/OutliningIndicators/InBlock.gif)
143
}
144
return path;
145
}
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
2
![](/Images/OutliningIndicators/InBlock.gif)
3
![](/Images/OutliningIndicators/InBlock.gif)
4
![](/Images/OutliningIndicators/InBlock.gif)
5
![](/Images/OutliningIndicators/InBlock.gif)
6
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
9
![](/Images/OutliningIndicators/InBlock.gif)
10
![](/Images/OutliningIndicators/InBlock.gif)
11
![](/Images/OutliningIndicators/InBlock.gif)
12
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
13
![](/Images/OutliningIndicators/InBlock.gif)
14
![](/Images/OutliningIndicators/InBlock.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/InBlock.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
26
![](/Images/OutliningIndicators/InBlock.gif)
27
![](/Images/OutliningIndicators/InBlock.gif)
28
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
31
![](/Images/OutliningIndicators/InBlock.gif)
32
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
33
![](/Images/OutliningIndicators/InBlock.gif)
34
![](/Images/OutliningIndicators/InBlock.gif)
35
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
36
![](/Images/OutliningIndicators/InBlock.gif)
37
![](/Images/OutliningIndicators/InBlock.gif)
38
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
39
![](/Images/OutliningIndicators/InBlock.gif)
40
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
41
![](/Images/OutliningIndicators/InBlock.gif)
42
![](/Images/OutliningIndicators/InBlock.gif)
43
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
44
![](/Images/OutliningIndicators/InBlock.gif)
45
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
46
![](/Images/OutliningIndicators/InBlock.gif)
47
![](/Images/OutliningIndicators/InBlock.gif)
48
![](/Images/OutliningIndicators/InBlock.gif)
49
![](/Images/OutliningIndicators/InBlock.gif)
50
![](/Images/OutliningIndicators/InBlock.gif)
51
![](/Images/OutliningIndicators/InBlock.gif)
52
![](/Images/OutliningIndicators/InBlock.gif)
53
![](/Images/OutliningIndicators/InBlock.gif)
54
![](/Images/OutliningIndicators/InBlock.gif)
55
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
56
![](/Images/OutliningIndicators/InBlock.gif)
57
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
58
![](/Images/OutliningIndicators/None.gif)
59
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
60
![](/Images/OutliningIndicators/InBlock.gif)
61
![](/Images/OutliningIndicators/InBlock.gif)
62
![](/Images/OutliningIndicators/InBlock.gif)
63
![](/Images/OutliningIndicators/InBlock.gif)
64
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
65
![](/Images/OutliningIndicators/InBlock.gif)
66
![](/Images/OutliningIndicators/InBlock.gif)
67
![](/Images/OutliningIndicators/InBlock.gif)
68
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
69
![](/Images/OutliningIndicators/InBlock.gif)
70
![](/Images/OutliningIndicators/InBlock.gif)
71
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
72
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
73
![](/Images/OutliningIndicators/InBlock.gif)
74
![](/Images/OutliningIndicators/InBlock.gif)
75
![](/Images/OutliningIndicators/InBlock.gif)
76
![](/Images/OutliningIndicators/InBlock.gif)
77
![](/Images/OutliningIndicators/InBlock.gif)
78
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
79
![](/Images/OutliningIndicators/None.gif)
80
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
81
![](/Images/OutliningIndicators/InBlock.gif)
82
![](/Images/OutliningIndicators/InBlock.gif)
83
![](/Images/OutliningIndicators/InBlock.gif)
84
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
85
![](/Images/OutliningIndicators/InBlock.gif)
86
![](/Images/OutliningIndicators/InBlock.gif)
87
![](/Images/OutliningIndicators/InBlock.gif)
88
![](/Images/OutliningIndicators/InBlock.gif)
89
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
90
![](/Images/OutliningIndicators/InBlock.gif)
91
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
92
![](/Images/OutliningIndicators/InBlock.gif)
93
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
94
![](/Images/OutliningIndicators/InBlock.gif)
95
![](/Images/OutliningIndicators/InBlock.gif)
96
![](/Images/OutliningIndicators/InBlock.gif)
97
![](/Images/OutliningIndicators/InBlock.gif)
98
![](/Images/OutliningIndicators/InBlock.gif)
99
![](/Images/OutliningIndicators/InBlock.gif)
100
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
101
![](/Images/OutliningIndicators/InBlock.gif)
102
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
103
![](/Images/OutliningIndicators/InBlock.gif)
104
![](/Images/OutliningIndicators/InBlock.gif)
105
![](/Images/OutliningIndicators/InBlock.gif)
106
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
107
![](/Images/OutliningIndicators/InBlock.gif)
108
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
109
![](/Images/OutliningIndicators/InBlock.gif)
110
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
111
![](/Images/OutliningIndicators/InBlock.gif)
112
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
113
![](/Images/OutliningIndicators/InBlock.gif)
114
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
115
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
116
![](/Images/OutliningIndicators/InBlock.gif)
117
![](/Images/OutliningIndicators/InBlock.gif)
118
![](/Images/OutliningIndicators/InBlock.gif)
119
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
120
![](/Images/OutliningIndicators/None.gif)
121
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
122
![](/Images/OutliningIndicators/InBlock.gif)
123
![](/Images/OutliningIndicators/InBlock.gif)
124
![](/Images/OutliningIndicators/InBlock.gif)
125
![](/Images/OutliningIndicators/InBlock.gif)
126
![](/Images/OutliningIndicators/InBlock.gif)
127
![](/Images/OutliningIndicators/InBlock.gif)
128
![](/Images/OutliningIndicators/InBlock.gif)
129
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
130
![](/Images/OutliningIndicators/InBlock.gif)
131
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
132
![](/Images/OutliningIndicators/InBlock.gif)
133
![](/Images/OutliningIndicators/InBlock.gif)
134
![](/Images/OutliningIndicators/InBlock.gif)
135
![](/Images/OutliningIndicators/InBlock.gif)
136
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
137
![](/Images/OutliningIndicators/InBlock.gif)
138
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
139
![](/Images/OutliningIndicators/InBlock.gif)
140
![](/Images/OutliningIndicators/InBlock.gif)
141
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
142
![](/Images/OutliningIndicators/InBlock.gif)
143
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
144
![](/Images/OutliningIndicators/InBlock.gif)
145
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
我做的主要是针对用户查询是显示数据字段的配置,大家可以根据自己的需求修改