Saya mengalami masalah dengan DataGridView.
Pertama, seperti yang Anda lihat:
Saya mentransfer informasi dari array DataGridView
ke Info_Goods
. Saya memeriksanya dengan cermat, itu sepenuhnya mentransfer semua informasi yang saya butuhkan.
Tetapi ketika saya menggunakan foreach
untuk menulis informasi dari array Info_Goods
ke text.txt
, hanya informasi dari baris pertama yang ditulis. Saya membuat array berbeda, nama testArray
dengan beberapa elemen telah dibuat sebelumnya
contoh:
string[,] testArray = {{a,b,c}, {d,e,f}};
Itu menulis sepenuhnya informasi testArray. Saya tidak tahu apa yang terjadi.
string Name = "";
Name = tb_Name.Text;
string[,] Info_Goods = new string[50, 50];
int Number = 1;
for (int i = 0; i < dgv_Input.Rows.Count - 1; i++)
{
for (int j = 0; j < dgv_Input.Columns.Count - 1; j++)
{
Info_Goods[i, j] = dgv_Input.Rows[i].Cells[j].Value.ToString();
}
}
////================================ Write File
// string[,] test = { { "a", "b", "c" }, { "d", "e", "f" } }; // it worked
using (System.IO.StreamWriter sw = new System.IO.StreamWriter(Number.ToString() + " " + Name + ".txt"))
{
foreach (string s in Info_Goods) // it didn't worked
{
sw.WriteLine(s);
}
}
Kedua, saya ingin memeriksa elemen kosong di DataGridView dan menampilkan pemberitahuan kesalahan.
Seperti yang Anda lihat, saya menggunakan loop yang sama seperti yang saya gunakan saat mentransfer informasi dari DataGridView ke Info_Goods
array .
Saya menggunakan 1 variabel cek (1: elemen kosong dan 0: tidak kosong). Itu tidak berhasil
Namun ketika saya hanya menulis pernyataan IF (tidak menggunakan loop), berhasil.
int check = 0;
for (int a = 0; a < dgv_Input.Rows.Count - 1; a++)
{
for (int b = 0; b < dgv_Input.Columns.Count - 1; b++)
{
if (string.IsNullOrEmpty(dgv_Input.Rows[a].Cells[b].Value as string)) // it didn't work
{
check = 1;
}
}
}
// if (string.IsNullOrEmpty(dgv_Input.Rows[0].Cells[0].Value as string)) // it worked