안녕하세요.
아주 아주 초보자 입니다.
현재 Winform 프로그램 하나 만들고 있는데 궁금한게 있어서 질문 드립니다.
WinForm 화면에서 바코드 스캔시 바코드 1개에 Cell값 1개를 넣고 약 Cell값 5개 정도 들어갔을때
Row.Add()를 진행하려고 합니다…
근데 Cell값이 총 5개중에 3개일때 Row.Add 4개일때 Row.Add 할수도 있는데 조건을 어떻게 추가 해야할까요?
고수님들 이해 초보자말 어려우시겠지만 양해부탁드립니다.
소스 주요 항목 추가 합니다…고수님들 제발 부탁드립니다 ㅠㅠ
private void txtScan_KeyPress(object sender, KeyPressEventArgs e)
{
if (dgvOrderSub.SelectedRows.Count != 0 || dgvOrder.SelectedRows.Count != 0)
{
// 소문자 대문자로 변환
txtScan.Text = txtScan.Text.ToUpper();
string itemcode = dgvOrderSub.SelectedRows[0].Cells[2].Value.ToString();
string Pallet = string.Empty;
string Box = string.Empty;
string prod = string.Empty;
DataTable dt = null;
if (dt == null)
{
dt = new DataTable();
foreach (DataGridViewColumn col in dgvWait.Columns)
{
dt.Columns.Add(col.DataPropertyName);
}
dgvWait.DataSource = dt;
}
dt = dgvWait.DataSource as DataTable;
DataRow dr = null;
if (e.KeyChar == Convert.ToChar(Keys.Enter))
{
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
e.Handled = true;
string barcode = txtScan.Text.Trim();
MessageBox.Show(txtScan.Text.Substring(0, 2).ToString());
dr = dt.NewRow();
if (rdPallet.Checked == true)
{
if (txtScan.Text.Substring(3, 2) == "IP" || txtScan.Text.Substring(3, 2) == "OP")
{
txtPallet.Text = "";
txtPallet.Text = txtScan.Text.ToString();
txtScan.Text = "";
dr[WMS_In_InWareSub.PALLEETID] = txtPallet.Text.ToString();
}
else
{
MessageBox.Show("라벨 종류 선택 또는 팔레트 QRCODE 확인 해주시기 바랍니다.", "팔레트 라벨 인식");
return;
}
}
else if (rdBoxID.Checked == true)
{
if (txtScan.Text.Substring(3, 2) == "IB" || txtScan.Text.Substring(3, 2) == "OB" || txtScan.Text.Substring(0, 2) == "OB")
{
txtBox.Text = "";
txtBox.Text = txtScan.Text.ToString();
txtScan.Text = "";
dr[WMS_In_InWareSub.BOXID] = txtBox.Text.ToString();
}
else
{
MessageBox.Show("라벨 종류 선택 또는 박스 QRCODE 확인 해주시기 바랍니다.", "박스 라벨 인식");
return;
}
}
else if (rdProdID.Checked == true)
{
txtProd.Text = "";
txtProd.Text = txtScan.Text.ToString();
txtScan.Text = "";
dr[WMS_In_InWareSub.PRODID] = txtProd.Text.ToString();
}
else
{
MessageBox.Show("QRCODE 스캔할 라벨 정보를 선택 해주세요.", "라벨 정보 선택");
return;
}
dr[Resources.Check] = false;
dr[WMS_In_InWareSub.PALLEETID] = txtPallet.Text.ToString();
dr[WMS_In_InWareSub.BOXID] = txtBox.Text.ToString();
dr[WMS_In_InWareSub.PRODID] = txtProd.Text.ToString();
dr[WMS_In_InWare.WAITQTY] = "";
dr[WMS_In_InWareSub.ITEMCODE] = "";
dr[com_ItemMaster.ITEMNAME] = "";
dr[com_ItemMaster.SPEC] = "";
dr[WMS_In_InWare.INWAREORDERID] = dgvOrderSub.SelectedRows[0].Cells[0].Value.ToString();
dr[WMS_In_InWareSub.INWAREORDERIDSEQ] = dgvOrderSub.SelectedRows[0].Cells[1].Value.ToString();
dr[WMS_In_InWareSub.INWAREID] = "";
dr[WMS_In_InWareSub.INWAREIDSEQ] = "";
dr[WMS_In_InWareSub.CREATEDATE] = Globals.Settings.GetString(Resources.PersonID);
dr["Name"] = "";
//dt.Rows.Add(dr);
}
// 라벨 정보가 전부다 없느냐..
// 아니면 팔레트, 박스 라벨이 망가져서 팔레트 박스만 다시 뽑는거냐..
// 박스 라벨 망가진거에 부품 QR까지 있으면 다 찍어야한다..
}
else
{
MessageBox.Show("라벨 정보 스캔 전 지시 조회 또는 발행하려는 품목을 선택해주세요.", "라벨 발행 전 확인");
return;
}
}