でListBoxコントロールを並べ替え、私は以下のようないくつかのデータが含まれているリストボックスがあります。私は、文字列に終了することにより、リストボックスをソートしたいC#の - エンディング
C44 EXCLUDES 237.910 193.469 0 0603_5
C45 EXCLUDES 244.102 193.387 0 0603
R47 EXCLUDES 226.935 179.519 90 0402_1
C18 CAP-00129G 230.960 190.619 0 0402
C17 CAP-00129G 250.085 198.569 180 0402_3
Q7 IC-00268G 258.460 205.594 0 SOT236
C25 CAP-00130G 255.635 189.669 90 0402_3
C56 EXCLUDES 229.430 189.374 0 0402
R42 EXCLUDES 241.010 192.194 90 TANT3216
R21 CAP-00129G -123.370 -112.114 270 0402_3
R10 EXCLUDES 246.560 203.894 0 0402_9
... .......... ....... ....... ... ........
を...そうで値6thカラム(0603_5,0603_5,0402_2,0402_4,0402_3、TANT3216,0402_9 ....)。また、
RES, 0402, 0201, 0603, 0805, 1206, 1306, 1608, 3216, 2551, 1913, 1313, 2513, 5125, 2525, 5619, 3813, 1508, 6431, 2512, 1505, 2208, 1005, 1010, 2010, 0505, 0705, 1020, 1812, 2225, 5764, 4532, 1210, 0816, 0363, SOT.
:
これらのすべては、上記のファイルの例に示されてはいないが
は、ここで彼らは(上から下に)表示されますそのためであります類似した複数のエンディングがある場合(* 0402_3 *を参照)、リスト項目は2nd列でソートされます。したがって、
R21
で始まる行がC25
で始まる行の後に来て、それらが両方とも* 0402_3 *で終わっていても、C25
の上に配置されます(第2列が第6列の後でチェックされるためです) )。 SO、新しいファイルは次のようになります。
C18 CAP-00129G 230.960 190.619 0 0402
C56 EXCLUDES 229.430 189.374 0 0402
R47 EXCLUDES 226.935 179.519 90 0402_1
C17 CAP-00129G 250.085 198.569 180 0402_3
R21 CAP-00129G -123.370 -112.114 270 0402_3
C25 CAP-00130G 255.635 189.669 90 0402_3
R10 EXCLUDES 246.560 203.894 0 0402_9
C45 EXCLUDES 244.102 193.387 0 0603
C44 EXCLUDES 237.910 193.469 0 0603_5
R42 EXCLUDES 241.010 192.194 90 TANT3216
Q7 IC-00268G 258.460 205.594 0 SOT236
... .......... ....... ....... ... ........
それは上記の順序リストにTANT ない数のオフに起こっているのでTANT3216
がSOT236
前に来るのお知らせ。
質問:
- どのように私はきちんと第六列(および第二列を必要に応じて)を使用して、第2のファイルのように見えるために最初のファイルを並べ替えることができます?
- Regexを使うことができますか、それとも簡単な方法がありますか?
- 私は3つのリストボックスを持っています.1つは上記のルール(エンディング)を使ってソートする必要があり、2番目のリストボックスは別のルールを使い、3番目のリストボックスは1番目または2番目のリストボックスに入っていないものを並べ替えます。だから1番目と2番目のリストボックスは似ているので、どのように終わりで何かを並べ替えることができる3番目のリストボックスのアルファベット順は?
あなたのTANT3216/SOT236の例はまだ不明である、3216はデータがから来ている216 –
の後に来ますか?リストボックスに入れる前にソートするほうが簡単かもしれませんが、データが従来のa-z型の順序ではないので、おそらくカスタムソートルーチンを書くことになります。 – Stuart
@Henk:エンディングの順番を見ると、216はないので、注文リストの最後の項目である** SOT **に基づいています。しかし、3216では、注文終了のリストに一致があるので、** TANT **のためのものがないので、それをつかむ。もっと明確ですか? – theNoobGuy