博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【.NET支持上下左右移动操作】
阅读量:4290 次
发布时间:2019-05-27

本文共 5239 字,大约阅读时间需要 17 分钟。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
public
partial
class
ShowSet : System.Web.UI.Page 
 
     
Hashtable resources = EquStatusSearch.resources; 
     
private
string
names =
null
     
IniOperation ini =
new
IniOperation(
"i18n"
); 
   
     
protected
void
Page_Load(
object
sender, EventArgs e) 
     
         
if
(!Page.IsPostBack) 
         
             
names = QuarrysClass.All; 
             
initi18n(); 
   
             
string
[] all =
string
.IsNullOrEmpty(names)?
null
: names.Split(
','
);
//分割出所有列 
             
hidfShows.Value =ini.IniValue(
"Set"
,
"Show"
); 
             
string
include = hidfShows.Value;
//获取当前页展示列 
             
if
(
string
.IsNullOrEmpty(names)||all ==
null
             
                 
//请先点加载配置信息 
                 
return
             
             
for
(
int
i = 0; i < all.Length; i++)
//遍历所有列 
             
                 
if
(include.IndexOf(
"@"
+ all[i] +
"@"
) == -1)
//当前列中不包含分割出来的列时放在不显示框中 
                 
                      
xListBox1.Items.Add(
new
ListItem(resources[all[i]].ToString(),all[i])); 
                 
             
             
string
[] showNames = include.Split(
','
); 
             
string
newName=
string
.Empty; 
             
foreach
(
string
name
in
showNames) 
             
                 
newName = name.Trim(
'@'
); 
                 
string
colName = resources[newName] ==
null
?
string
.Empty : resources[newName].ToString(); 
                 
if
(!
string
.IsNullOrEmpty(newName)) 
                 
                     
xListBox2.Items.Add(
new
ListItem(colName, newName)); 
                 
             
         
     
   
     
//调用显示和展示字段名称 
     
private
void
initi18n() 
     
         
this
.Page.Title =
string
.IsNullOrEmpty(resources[
"ShowSetName"
].ToString())?
"字段显示设置"
: resources[
"ShowSetName"
].ToString(); 
         
xLabel1.Text =
string
.IsNullOrEmpty(resources[
"ShowSetNoShow"
].ToString())?
"不显示字段"
:resources[
"ShowSetNoShow"
].ToString(); 
         
xLabel2.Text =
string
.IsNullOrEmpty(resources[
"ShowSetShow"
].ToString())?
"显示字段"
:resources[
"ShowSetShow"
].ToString(); 
     
   
     
//将未显示字段右移到显示字段框,并清除掉不显示的选择到的项 
     
protected
void
xButton1_Click(
object
sender, EventArgs e) 
     
         
if
(xListBox1.SelectedItem ==
null
         
             
return
         
         
xListBox2.Items.Add(xListBox1.SelectedItem); 
         
xListBox1.Items.Remove(xListBox1.SelectedItem); 
     
   
     
//将显示字段左移到未显示字段框,并清除掉显示的选择到的项 
     
protected
void
xButton2_Click(
object
sender, EventArgs e) 
     
         
if
(xListBox2.SelectedItem ==
null
         
             
return
         
         
xListBox1.Items.Add(xListBox2.SelectedItem); 
         
xListBox2.Items.Remove(xListBox2.SelectedItem); 
     
   
     
//将左边所有不显示项加到右边的显示项中 
     
protected
void
xButton3_Click(
object
sender, EventArgs e) 
     
         
foreach
(ListItem item
in
xListBox1.Items) 
         
             
xListBox2.Items.Add(item); 
         
         
xListBox1.Items.Clear(); 
     
   
     
//将右边所有不显示项加到左边的显示项中 
     
protected
void
xButton4_Click(
object
sender, EventArgs e) 
     
         
foreach
(ListItem item
in
xListBox2.Items) 
         
             
xListBox1.Items.Add(item); 
         
         
xListBox2.Items.Clear(); 
     
   
        
     
//点击设置按钮事件, 
     
protected
void
btnSet_Click(
object
sender, EventArgs e) 
     
         
try 
         
             
string
str =
""
             
for
(
int
i = 0; i < xListBox2.Items.Count; i++)
//循环添加显示项组成字符串 
             
                 
str +=
"@"
+ xListBox2.Items[i].Value +
"@,"
             
             
if
(
""
.Equals(str))
//如果显示项为空直接清除显示页面的所有字段 
             
                 
QuarrysClass.Shows =
""
             
             
else 
             
                 
//重新复制显示字段到显示页面 
                 
QuarrysClass.Shows = str.Substring(0, str.Length - 1); 
             
             
//调用主页面将显示字段写入到i18n文件中 
             
ini.IniWriteValue(
"Set"
,
"Show"
, QuarrysClass.Shows); 
             
Page.ClientScript.RegisterStartupScript(
this
.GetType(),
"warn"
,
"alert('设置成功!');window.opener.searchData();window.close();"
,
true
); 
   
         
         
catch
(Exception ex) 
         
             
string
strScript =
string
.Format(
"alert('设置失败!{0}');"
, ex.Message); 
             
Page.ClientScript.RegisterStartupScript(
this
.GetType(),
"warn"
, strScript,
true
); 
         
     
   
     
//上移 
     
protected
void
btnUp_Click(
object
sender, EventArgs e) 
     
         
UpMove(xListBox2); 
     
   
     
//下移 
     
protected
void
btnDown_Click(
object
sender, EventArgs e) 
     
         
DownMove(xListBox2); 
     
   
     
void
UpMove(ListBox ListBox2) 
     
         
//若不是第一行则上移 
         
if
(ListBox2.SelectedIndex > 0) 
         
             
string
name = ListBox2.SelectedItem.Text; 
             
string
ID = ListBox2.SelectedItem.Value; 
             
int
index = ListBox2.SelectedIndex; 
             
ListBox2.SelectedItem.Text = ListBox2.Items[index - 1].Text; 
             
ListBox2.SelectedItem.Value = ListBox2.Items[index - 1].Value; 
             
ListBox2.Items[index - 1].Text = name; 
             
ListBox2.Items[index - 1].Value = ID; 
             
ListBox2.SelectedIndex--; 
         
     
   
     
void
DownMove(ListBox lbox) 
     
         
if
(lbox.SelectedIndex < lbox.Items.Count - 1) 
         
             
string
name = lbox.SelectedItem.Text; 
             
string
ID = lbox.SelectedItem.Value; 
             
int
index = lbox.SelectedIndex; 
             
lbox.SelectedItem.Text = lbox.Items[index + 1].Text; 
             
lbox.SelectedItem.Value = lbox.Items[index + 1].Value; 
             
lbox.Items[index + 1].Text = name; 
             
lbox.Items[index + 1].Value = ID; 
             
lbox.SelectedIndex++; 
         
     
   
     
void
TopMove(ListBox lbox) 
     
         
int
index = 0; 
         
ListItem item = lbox.SelectedItem; 
         
lbox.Items.Remove(item); 
         
lbox.Items.Insert(index, item); 
     
   
     
void
BottomMove(ListBox lbox) 
     
         
int
index = lbox.Items.Count - 1; 
         
ListItem item = lbox.SelectedItem; 
         
lbox.Items.Remove(item); 
         
lbox.Items.Insert(index, item); 
     
   
     
protected
void
btnTop_Click(
object
sender, EventArgs e) 
     
         
TopMove(xListBox2); 
     
   
     
protected
void
btnBottom_Click(
object
sender, EventArgs e) 
     
         
BottomMove(xListBox2); 
     
   
 

 

转载地址:http://mlqgi.baihongyu.com/

你可能感兴趣的文章
java常见的集合及其关系
查看>>
成为出色的程序员必修之路-数据结构(总结)
查看>>
今天被一个架构师面了
查看>>
java学习建议
查看>>
Java传参方式
查看>>
分布式补偿事务处理方案 / 分布式计算是如何控制事务的?
查看>>
分布式定时任务——elastic-job
查看>>
Spring中配置数据源的4种形式(含有如何在spring框架中解决多数据源的问题)
查看>>
分布式与集群有什么区别?
查看>>
linux安全-禁止密码登录及root登录
查看>>
Java 中的类为什么要实现序列化呢 / JAVA中序列化和反序列化中的静态成员问题
查看>>
redis集群搭建及注意事项
查看>>
分布式演变过程中之Session集群解决方案
查看>>
拥有这些Java这些技术可以涨工资吗?
查看>>
MySql学习之Join查询
查看>>
简单介绍线程池在并发编程中的使用
查看>>
redis如何防止并发?
查看>>
无备份情况下恢复MySQL误删的表,这样做再也不用怕误删了
查看>>
MySQL断电恢复的一点简单分析
查看>>
linux进程网络流量监控工具nethogs
查看>>