# CODE BROW CỘT

* Gán dữ liệu
* Lấy giá trị trên lưới
* Lấy giá trị trên form
* Lưu ý trường hợp copy paste nhiều dòng

```csharp
// tạo đối tượng dtg là lưới nhập liệu, để gọi cho thuận tiện
_DataGridView dtg = myform.DTG0001 as _DataGridView;
// lấy dòng hiện thời
DataRow drfocus = myform.DTG0001.CurrentRow;
// nếu copy paste thì lấy dòng đang edit
if(myform.DTG0001.RowEdited>= 0 && myform.DTG0001.RowEdited< myform.DTG0001.gridView1.RowCount)
	drfocus = myform.DTG0001.GetDataRow(myform.DTG0001.RowEdited);
// lấy danh mục của cột danh mục. thì lấy dòng index là dòng đang sửa
// với  myform.DTG0001.RowEdited là dòng đang sửa. 
// nếu CurrentRow thì sẽ là dòng tích chuột ban đầu, nếu copy paste nhiều dòng sẽ ko đúng
DataRow drKhachhang = dtg.GetCurrentRowComboBoxCell(  myform.DTG0001.RowEdited, "khachhang");	

if(drfocus["nhomvat"].ToString() == "6") // không đủ điều kiện khấu trừ
	{
	//Nếu không có cột tkno2 ở dưới lưới thì thông báo
		if(!myform.DTG0001.ContainsColumn("TkNo2"))
		{
		//
			_Func.ThongBaoLoi("Giao diện không có cột [Tk thuế] để ghi nhận sang tài khoản chi phí. Hãy báo lại Dtech thiết lập.");
			return;
		}

		if(drfocus.Table.Columns.Contains("TkNo2"))		
		{
			if(myform.NghiepVu.ToString() == "1047" || myform.NghiepVu.ToString() == "1035")
				{
					if(myform.DTG0001.ContainsColumn("TkCo"))//tk nợ dưới lưới
					drfocus["TkNo2"] = drfocus["TkCo"];
					else if(myform.txtTkhoanCo.Visible)//tk nợ trên form
					drfocus["TkNo2"] = myform.txtTkhoanCo.Value;
				}
				else
				{
					if(myform.DTG0001.ContainsColumn("TkNo"))//tk nợ dưới lưới
					drfocus["TkNo2"] = drfocus["TkNo"];
					else if(myform.txtTkhoanNo.Visible)//tk nợ trên form
					drfocus["TkNo2"] = myform.txtTkhoanNo.Value;
				}
				if(string.IsNullOrWhiteSpace(drfocus["TkNo2"].ToString()))
					_Func.ThongBaoLoi("Với hóa đơn không đủ điều kiện khấu trừ, bạn cần chọn thông tin cột [Tk thuế] là tài khoản chi phí");
			}
	}
	else
	{
		if(drfocus.Table.Columns.Contains("TkNo2"))
		{
			drfocus["TkNo2"] = "";
		}
	}
```

## lấy dòng danh mục của id đang chọn

```csharp
// lấy dòng danh mục hiện thời của id đang chọn trên giao diện lưới
_DataGridView dtg = myform.DTG0001 as _DataGridView;
DataRow drvattu = dtg.GetCurrentRowComboBoxCell(dtg.CurrentRowIndex, "VatTu");

// lấy dòng danh mục hiện thời của id đang chọn trên giao diện chung
if(myform.txtKhachHangMa.CurrentRow.Table.Columns.Contains("nhanvienGiamsat"))
		myform.txtnhanvienma.Value = myform.txtKhachHangMa.CurrentRow["nhanvienGiamsat"];

// kiểm tra cột có tồn tại dưới lưới
if(dtg.ContainsColumn("Kho"))
{
}
```
