Visual Basic で同様の質問を見つけましたが、正確なものはなく、C# ではありません。
10列のデータテーブルからINDEX(つまり、1、4、および5はインデックスであり、名前/ヘッダーではありません)を使用して特定の列(1、4、および5など)をコピーし、オブジェクトを作成します( array/list が最適でしょうか?)、これを form2 に渡します。form2 では、これらの配列/リストから新しいデータテーブルを作成したいので、元のデータテーブルの列 1、4、および 5 と同じ 3 つの列を持つことになります。また、他の場所で設定する true/false 値に基づいて、渡す前に各配列の最初の要素を削除するオプションが必要です。
これまでに得た概要は次のとおりです(「alldata」はデータテーブル、「cx」は取得したいx番目の列です):
フォーム1:
private void button2_Click(object sender, EventArgs e) //next
{
this.Hide();
int c1 = 1; int c2 = 4; int c3 = 5
int[] 1st_col; int[] 2nd_col; int[] 3rd_col;
[assign c1th column to 1st_col, etc]
if (variable = marker_number)
{
[delete first element of each array]
}
Form2 step2 = new Form2(1st_col, 2nd_col, 3rd_col);
step2.ShowDialog();
}
フォーム2:
public Form2(int 1st_col, int 2nd_col, int 3rd_col)
{
DataTable mytable1 = new DataTable();
[add 1st, 2nd, and 3rd cols to mytable1]
InitializeComponent();
}
他に提供すべきものがある場合は、お知らせください。