DOBON.NETプログラミング道掲示板
HOME
HELP
新規作成
新着記事
ツリー表示
スレッド表示
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
No35678 の記事
■35678
/ )
ロジックの実現お願い
□投稿者/ あばば無人君
一般人(2回)-(2025/07/22(Tue) 21:24:46)
環境/言語:[Windows10 Home(19045.5917) 64bit、.NetFramework_4.8.1]
分類:[.NET]
約1年半ぶりの投稿となります。宜しくお願いします。
掲題の件ですが、以下の仕様を実現するロジックを組むorヒントが欲しいです。
(ロジックなんて自分で考えろ!と言われるのは百も承知ですが、
この件に10Hほど掛けても未だ光明が見えず、致し方なくの投稿です)
※書き込みのルール「丸投げした投稿」に該当するのでしたらご指摘ください。
諦めます。
ではここから仕様
以下のカラムを持つDataTable「dtSyuyakumae」があります。
全カラム数値で、後述のデータパターン(集約前)の値が入っています。
・親分類
・子分類
・孫分類
・他分類
これを以下のクラスに格納してListに積みたいのですが、その際に
「親子孫の値に0が含まれるなら複数行を集約&空値にしてクラスにセットする」
「ただし他分類が異なるならそれぞれの行でクラスにセットする」
というのが条件になります。
(言葉では分かりにくいと思うのでデータパターン(集約後)をご確認下さい)
クラス
private class BunruiInfo
{
/// <summary>親分類</summary>
public string OBunrui { get; set; } = string.Empty;
/// <summary>子分類</summary>
public string KBunrui { get; set; } = string.Empty;
/// <summary>孫分類</summary>
public string MBunrui { get; set; } = string.Empty;
/// <summary>他分類</summary>
public string HBunrui { get; set; } = string.Empty;
}
処理部分
private void button1_Click(object sender, EventArgs e)
{
// このDataTableが集約前のデータa〜jいずれかとなる
DataTable dtSyuyakumae = GetSyuyakumaeData();
// このリストに集約後のデータを積みたい
var bunruiList = new List<BunruiInfo>();
★ここで集約するロジックが実現できない!★
}
パッと見だと実現できそうな感じがするのですが、いざやってみると
「あちらを立てればこちらが立たず」な状態となってしまい、
どうにもならなくなったのでご助力を依頼している状態です。
ロジックの実現お願いなど「ふざけるな!」と言われそうで恐縮ですが
自分(と周りのメンバー)ではどうにもできないのでご協力の程、お願い致します。
ここからデータパターン
※インデントを調整していますが等幅フォントでないと正しく表示されないかも。
お手数ですがメモ帳などのテキストエディタに張り付けてご確認ください。
集約前 集約後
a 親分類 子分類 孫分類 他分類 → 親分類 子分類 孫分類 他分類
1 1 1 1 1 1
1 0 0 1
b 親分類 子分類 孫分類 他分類 → 親分類 子分類 孫分類 他分類
1 1 1 1 1 1 1
1 1 0 1
c 親分類 子分類 孫分類 他分類 → 親分類 子分類 孫分類 他分類
1 1 1 1 1 1 1
1 1 1 0
d 親分類 子分類 孫分類 他分類 → 親分類 子分類 孫分類 他分類
1 1 0 1 1 1 1
2 0 0 1 2 1
e 親分類 子分類 孫分類 他分類 → 親分類 子分類 孫分類 他分類
1 1 0 1 1 1 1
1 2 0 1 1 2 1
f 親分類 子分類 孫分類 他分類 → 親分類 子分類 孫分類 他分類
1 1 1 1 1 1 1 1
1 0 0 2 1 2
g 親分類 子分類 孫分類 他分類 → 親分類 子分類 孫分類 他分類
1 0 0 2 1 2
1 1 0 1 1 1 1
1 1 1 1 1 2 1
1 2 0 1
h 親分類 子分類 孫分類 他分類 → 親分類 子分類 孫分類 他分類
1 1 1 1 1 1 1 1
0 0 0 2 2
i 親分類 子分類 孫分類 他分類 → 親分類 子分類 孫分類 他分類
0 0 0 2 2
1 1 1 1 1 1 1 1
2 0 0 3 2 3
2 1 1 2 2 1 1 2
j 親分類 子分類 孫分類 他分類 → 親分類 子分類 孫分類 他分類
1 1 1 1 1 1 1 1
1 2 0 1 1 2 1
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
返信
削除キー/
編集
削除
Mode/
通常管理
表示許可
Pass/
HOME
HELP
新規作成
新着記事
ツリー表示
スレッド表示
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
-
Child Tree
-