i have six datatable
aspx.cs code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;
namespace AQCConsolidator1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnGetData_Click(object sender, EventArgs e)
{
List<String> list = new List<String>();
List<String> list1 = new List<String>();
string request = @"RP/DCA1S219C/DCA1S219C SL/SU 7FEB13/2215Z 8TXSAK
36 FA PAX 125-7239038457/ETBA/07FEB13/DCA1S211E/49881134
/S4-5/P3
37 FA PAX 125-7239038458/ETBA/07FEB13/DCA1S211E/49881134
/S4-5/P1
38 FA PAX 125-7239038459/ETBA/07FEB13/DCA1S211E/49881134 @
/S4-5/P2
39 FB PAX 0700449140 TTP/ET/RT/INVJ OK ETICKET/S4-5/P1-3
40 FE PAX BA ONLY/NONREF/NONEND SEE GGAIRBAGUSA -BG:BA/S4-5/P3
41 FE PAX BA ONLY/NONREF/NONEND SEE GGAIRBAGUSA -BG:BA
/S4-5/P1-2
42 FI PAX 0700449140 INV 0011436178/S4-5/P1-3
43 FI PAX 0700449140 INV 0011436178/S6/P1-3
44 FI PAX 0700449140 INV 0011436178/S7/P1-3
45 FM *M*0.00A
46 FP CHECK
47 FT *BT1195364
48 FV PAX BA/S4-5/P3
49 FV PAX BA/S4-5/P1-2
50 FY BULK/TBULK
";
string request1 = @"RP/DCA1S219C/DCA1S219C SL/SU 5APR13/2119Z 23ZEBK
42 FA PAX 220-7242648582-83/ETLH/USD1166.75/04APR13/DCA1S211E/4
9881134/S3-7/P1
43 FA PAX 220-7242648584-85/ETLH/USD1166.75/04APR13/DCA1S211E/4
9881134/S3-7/P2
44 FB PAX 0400496645 TTP/INVJ/ET/RT OK ETICKET/S3-7/P1-2
45 FE PAX NONREF/FL/CHG RESTRICTEDCHECK FARE NOTE -BG:LH
/S3-7/P1-2
46 FI PAX 0400496645 INV 0011465003/S3-7/P1-2
47 FI PAX 0400496645 INV 0011465003/S8/P1-2
48 FI PAX 0400496645 INV 0011465003/S9/P1-2
49 FM *M*8/P1-2
50 FP CHECK
51 FT *815ZU
52 FV PAX LH/S3-7/P1-2
";
string request2 = @"RP/DCA1S219C/DCA1S219C SL/SU 9APR13/2223Z 4YYTR7
45 FA PAX 257-7242858184/ETOS/USD736.23/08APR13/DCA1S211E/49881
134/S3-6/P1
46 FA PAX 257-7242858185/ETOS/USD736.23/08APR13/DCA1S211E/49881
134/S3-6/P2
47 FB PAX 0800499541 TTP/ET/INVJ/RT OK ETICKET/S3-6/P1-2
48 FE *M*//REFTHRUAGT/NONEND
49 FI PAX 0800499541 INV 0011466820/S3-6/P1-2
50 FI PAX 0800499541 INV 0011466820/S7/P1-2
51 FI PAX 0800499541 INV 0011466820/S8/P1-2
52 FM *M*8
53 FP CHECK
54 FT *815ZU
55 FV PAX OS/S3-6/P1-2
";
string request3 = @"RP/DCA1S219C/DCA1S219C SL/SU 9APR13/2211Z 44J6KH
39 FA PAX 001-7242858155-56/ETAA/USD1280.84/08APR13/DCA1S211E/4
9881134/S5-6,8-9/P3
40 FA PAX 001-7242858157-58/ETAA/USD1280.84/08APR13/DCA1S211E/4
9881134/S5-6,8-9/P4
41 FA PAX 001-7242858159-60/ETAA/USD1489.84/08APR13/DCA1S211E/4
9881134/S5-6,8-9/P1
42 FA PAX 001-7242858161-62/ETAA/USD1489.84/08APR13/DCA1S211E/4
9881134/S5-6,8-9/P2
43 FB PAX 0800499485 TTP/INVJ/ET/RT OK ETICKET/S5-6,8-9/P1-4
44 FE PAX CANCEL/CHNG PENALTY APPLY SEE N-CONS -BG:AA
/S5-6,8-9/P3-4
45 FE PAX CANCEL/CHNG PENALTY APPLY SEE N-CONS -BG:AA
/S5-6,8-9/P1-2
46 FI PAX 0800499485 INV 0011466787/S5-6,8-9/P1-4
47 FI PAX 0800499485 INV 0011466787/S10/P1-4
48 FI PAX 0800499485 INV 0011466787/S11/P1-4
49 FM *M*0
50 FP CHECK
51 FV PAX AA/S5-6,8-9/P3-4
52 FV PAX AA/S5-6,8-9/P1-2
53 FY BULK/TBULK
";
string request4 = @"RP/DCA1S219C/DCA1S219C VP/SU 9APR13/2219Z 43K83B
41 FA PAX 016-7242906971-72/ETUA/USD1161.93/08APR13/DCA1S211E/4
9881134/S2-3,5-7
42 FB PAX 0800500046 TTP/ET/INVJ/RT OK ETICKET/S2-3,5-7
43 FE PAX NONREF/0VALUEAFTDPT/CHGFEE -BG:UA/S2-3,5-7
44 FI PAX 0800500046 INV 0011467153/S2-3,5-7
45 FI PAX 0800500046 INV 0011467153/S8
46 FM *M*0
47 FP CHECK
48 FT PAX 264HW/S2-3,5-7
49 FV PAX UA/S2-3,5-7
50 FY BULK/TBULK
";
string request5 = @"RP/DCA1S219C/DCA1S219C VP/SU 10APR13/2053Z 5PMTIC
52 FA PAX 220-7242968917/ETLH/09APR13/DCA1S211E/49881134
/S3-6/P1
53 FA PAX 220-7242968918/ETLH/09APR13/DCA1S211E/49881134
/S3-6/P2
54 FB PAX 0900500611 TTP/ET/INVJ/RT OK ETICKET/S3-6/P1-2
55 FE PAX REFTHRUAG/NONEND/NONRERTE/LH/UA/AC/OS/SN/LX ONLY
-BG:LH/S3-6/P1-2
56 FI PAX 0900500611 INV 0011467501/S3-6/P1-2
57 FI PAX 0900500611 INV 0011467501/S7/P1-2
58 FI PAX 0900500611 INV 0011467501/S8/P1-2
59 FM *M*0
60 FP CHECK
61 FT PAX 294UA/S3-6/P1-2
62 FV PAX LH/S3-6/P1-2
";
string request6 = @"RP/DCA1S219C/DCA1S219C PG/SU 11APR13/2002Z 4XNHSH
71 FA PAX 080-7243098290/ETLO/USD90.46/10APR13/NYC1S21DD/338959
34/S7/P3
72 FA PAX 080-7243098295/ETLO/USD162.82/10APR13/NYC1S21DD/33895
934/S7/P1
73 FA PAX 080-7243098296/ETLO/USD162.82/10APR13/NYC1S21DD/33895
934/S7/P2
74 FA PAX 724-7243065619/ETLX/USD879.23/10APR13/DCA1S211E/49881
134/S4-5,8-9/P3
75 FA PAX 724-7243065620/ETLX/USD956.23/10APR13/DCA1S211E/49881
134/S4-5,8-9/P1
76 FA PAX 724-7243065621/ETLX/USD956.23/10APR13/DCA1S211E/49881
134/S4-5,8-9/P2
77 FB PAX 1007098717 TTP/ET/RT/INVJ/T17 OK ETICKET/S7/P3
78 FB PAX 1007098721 TTP/ET/RT/INVJ/T18 OK ETICKET/S7/P1-2
79 FB PAX 1000501680 TTP/ET/RT/INVJ/T21,22 OK ETICKET
/S4-5,8-9/P1-3
80 FE PAX REFTHRUAG/NONEND/NONRERTE/LH/UA/AC/OS/SN/LX ONLY
-BG:LX/S4-5,8-9/P3
81 FE PAX REFTHRUAG/NONEND/NONRERTE/LH/UA/AC/OS/SN/LX ONLY
-BG:LX/S4-5,8-9/P1-2
82 FI PAX 1007098717 INV 0206906260/S7/P3
";
string Req = @"TST00003 DCA1S211E AD/18APR M 1 LD 20APR13 OD SDFSDF SI
T-E
FXP/R,U
1.MCKEEL/WESLEY C 2.MCKEEL/MATTHEW M 3.SMITH/ALEXANDER P
1 SDF AA 3273 Q 17MAY 1245P OK QLW0N8B1 CDTP 17AUG 2PC
2 X DFW AA 399 Q 17MAY 345P OK QLW0N8B1 CDTP 17AUG 2PC
3 X SFO AA 5815 Q 17MAY 705P OK QLW0N8B1 CDTP 17AUG 2PC
4 HND ARNK
5 O NRT AA 176 Q 30MAY 1130A OK QLX0N8B1 CDTP 20MAY17AUG 2PC
6 X DFW AA 830 Q 30MAY 320P OK QLX0N8B1 CDTP 20MAY17AUG 2PC
SDF
FARE F USD 488.00
TX001 X USD 580.00YRVB TX002 X USD 5.50YCAE TX003 X USD 17.20USAP
TX004 X USD 17.20USAS TX005 X USD 5.00XACO TX006 X USD 7.00XYCR
TX007 X USD 10.00AYSE TX008 X USD 21.08SWAE TX009 X USD 5.17OISE
TX010 X USD 18.00XF
TOTAL USD 1174.15
GRAND TOTAL USD 1174.15
SDF AA X/DFW AA X/SFO AA TYO M257.60QLW0N8B1/CDTP AA X/DFW AA
SDF M230.00QLX0N8B1/CDTP NUC487.60END ROE1.000000 XF SDF4.5DFW
4.5SFO4.5DFW4.5
";
string Req1 = @"FXP/R,U,CL-MBT
1.JAYAPAL/HEMACHANDRA
1 ORD UA 940 T 21MAY 610P OK TKX6NCE CN10 21MAY21MAY 1PC
2 X FRA LH 758 T 22MAY 1100A OK TKX6NCE CN10 22MAY22MAY 1PC
3 O MAA 9W 470 H 17JUN 710P OK TKX6NCE CN10 17JUN17JUN 1PC
4 X BOM LX 155 T 18JUN 050A OK TKX6NCE CN10 18JUN18JUN 1PC
5 X ZRH LX 2608 T 18JUN 955A OK TKX6NCE CN10 18JUN18JUN 1PC
ORD
FARE I USD 711.00
TX001 X USD 540.00YQAC TX002 X USD 5.50YCAE TX003 X USD 17.20USAP
TX004 X USD 17.20USAS TX005 X USD 5.00XACO TX006 X USD 7.00XYCR
TX007 X USD 2.50AYSE TX008 X USD 25.92RAEB TX009 X USD 8.71DESE
TX010 X USD 3.65WOMU TX011 X USD 25.66CHAE TX012 X USD 4.50XF
TOTAL USD 1373.84
GRAND TOTAL USD 1373.84
CHI UA X/FRA LH MAA M/IT TKX6NCE/CN10 9W X/BOM LX X/ZRH LX CHI
M/IT TKX6NCE/CN10 END XF ORD4.5
55.FE REFTHRUAG/NONEND/NONRERTE/LH/UA/AC/OS/SN/LX ONLY -BG:LH
59.FM *M*0
60.FP CHECK";
string Req2 = @"FXP/R,U
1.RATTANASAWASD/PANUPONG
1 ORD UA 881 V 12MAY 100P OK VKX0ZUMF NCJV 12MAY12MAY 1PC
2 X NRT UA 837 V 13MAY 630P OK VKX0ZUMF NCJV 13MAY13MAY 1PC
3 O BKK NH 916 S 21AUG 1155P OK SKX04MM3 NCJV 21AUG21AUG 1PC
4 X NRT NH 012 S 22AUG 1045A OK SKX04MM3 NCJV 22AUG22AUG 1PC
ORD
FARE F USD 1352.00
TX001 X USD 400.00YQAC TX002 X USD 6.40YQAD TX003 X USD 5.50YCAE
TX004 X USD 17.20USAP TX005 X USD 17.20USAS TX006 X USD 5.00XACO
TX007 X USD 7.00XYCR TX008 X USD 2.50AYSE TX009 X USD 21.08SWAE
TX010 X USD 10.34OISE TX011 X USD 24.02TSLA TX012 X USD 4.50XF
TOTAL USD 1872.74
GRAND TOTAL USD 1872.74
CHI UA X/TYO UA BKK684.90VKX0ZUMF/NCJV NH X/TYO NH CHI Q200.00
467.55SKX04MM3/NCJV NUC1352.45END ROE1.000000 XF ORD4.5
37.FE REFUNDABLE/CXLFEE/CHGFEE-BG:UA
41.FM *M*0
42.FP CHECK
)>";
list.Add(request);
list.Add(request1);
list.Add(request2);
list.Add(request3);
list.Add(request4);
list.Add(request5);
list.Add(request6);
list1.Add(Req);
list1.Add(Req1);
list1.Add(Req2);
MyClass1 mc = new MyClass1();
DataTable dt = mc.GetNumber(list);
DataTable dt1= mc.GetPNR(list);
DataTable dt2 = mc.GetDetail(list1);
DataTable dt3 = mc.GetDetail1(list1);
DataTable dt4 = mc.GetDetail2(list1);
DataTable dt5 = mc.GetDetail3(list1);
DataTable dt6 = mc.GetDetail4(list1);
dataGridView1.DataSource = ??
}
}
}
class code::
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Text.RegularExpressions;
namespace AQCConsolidator1
{
class MyClass1
{
string output;
string subs;
DataTable dt = new DataTable();
DataRow dr = null;
public DataTable GetPNR(List<string> request)
{
dt.Columns.Add("PNR", typeof(string));
foreach (string data in request)
{
string item = data;
dr = dt.NewRow();
Regex regexs = new Regex(@"\s[A-Z0-9]{6}\s{2}");
foreach (Match m in regexs.Matches(item))
{
output = m.ToString();
}
dr["PNR"] = output;
dt.Rows.Add(dr);
}
return dt;
}
public DataTable GetNumber(List<string> request)
{
dt.Columns.Add("TickitNumber", typeof(string));
foreach (string data in request)
{
string item = data;
while (item.Trim() != "")
{
dr = dt.NewRow();
int r1 = item.IndexOf("\r", 3);
subs = item.Substring(0, r1);
if (subs.Contains("ET"))
{
Regex regexs = new Regex(@"[0-9||-]{14}");
foreach (Match m in regexs.Matches(subs))
{
output = m.ToString();
dr["TickitNumber"] = output;
}
dt.Rows.Add(dr);
}
item = item.Substring(subs.Length);
r1 = item.IndexOf("\r\n", 0);
item = item.Substring(r1);
}
}
return dt;
}
public DataTable GetDetail(List<string> request)
{
dt.Columns.Add("Base fare", typeof(string));
foreach (string data in request)
{
string item = data;
dr = dt.NewRow();
Regex regexs = new Regex(@"(FARE\s{2}\S\s\S{3}\s{5}(\d+\.\d{2}))|(EQUIV\s{3}\S{3}\s{5})(\d+\.\d{2})");
foreach (Match m in regexs.Matches(item))
{
output = m.ToString();
}
dr["Base Fare"] = output;
dt.Rows.Add(dr);
}
return dt;
}
public DataTable GetDetail1(List<string> request)
{
dt.Columns.Add("Grand Total", typeof(string));
foreach (string data in request)
{
string item = data;
dr = dt.NewRow();
Regex regexs = new Regex(@"GRAND.TOTAL....\s+(\d+\.\d{2})");
foreach (Match m in regexs.Matches(item))
{
output = m.ToString();
}
dr["Grand Total"] = output;
dt.Rows.Add(dr);
}
return dt;
}
public DataTable GetDetail2(List<string> request)
{
dt.Columns.Add("FM", typeof(string));
foreach (string data in request)
{
string item = data;
dr = dt.NewRow();
Regex regexs = new Regex(@"FM (\S+)");
foreach (Match m in regexs.Matches(item))
{
output = m.ToString();
}
dr["FM"] = output;
dt.Rows.Add(dr);
}
return dt;
}
public DataTable GetDetail3(List<string> request)
{
dt.Columns.Add("FOP", typeof(string));
foreach (string data in request)
{
string item = data;
dr = dt.NewRow();
Regex regexs = new Regex(@"FP (\S+)");
foreach (Match m in regexs.Matches(item))
{
output = m.ToString();
}
dr["FOP"] = output;
dt.Rows.Add(dr);
}
return dt;
}
public DataTable GetDetail4(List<string> request)
{
dt.Columns.Add("PAX", typeof(string));
foreach (string data in request)
{
string item = data;
dr = dt.NewRow();
Regex regexs = new Regex(@"(FXP/R\s+(.+?)+\s)|(FXP/R.\S{0,10}\s\S{0,10}\s+(.+?)+\s)", RegexOptions.Multiline);
foreach (Match m in regexs.Matches(item))
{
output = m.ToString();
}
dr["PAX"] = output;
dt.Rows.Add(dr);
}
return dt;
}
}
}
mc is the object of a class which is used to call function from class on click event of button
now what i want is when i click on button all the data in those datatable get into one datatable and bind that datatable to datagridview so that when i click on button i can view details in datagridview which comes from the function created in class.
i use merge but it didn't work i search a lot on google but i didn't get anythink that i want so i came here i hope i am clear to you guys
thanks in advance