あなたの助けが必要です。私は2つのExcelファイルを持っており、それらをdatagridviewに表示したい。私はdatagridviewが私のデータの1つだけをすべて表示するという問題を発見しました。私はこれらのようなデータを表示したい:1つのレコードのみがDatagridviewに表示されています。
これらは[Sheet1の$]
WSID Lokasi Saldo
1234 A 200
5678 B 300
から自分のデータがあり、これらは私がMFラジオボタンを押すと[データ$]
WSID Tipe Mesin Lokasi
1234 MF A
5678 MF B
9876 CRM C
から私のデータであり、示されるデータは、MipeのTipe Mesin値を有するデータである。実際には1234と5678が表示されるはずですが、5678だけが表示されます。
private void TampilDataSaldo()
{
RadioButton[] radiobtn = new RadioButton[] { MFRB, CRMRB };
string dir = LokasiSaldo.Text;
konek.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + dir + ";Extended Properties='Excel 12.0 xml;HDR=YES;IMEX=1'";
koneksi.ConnectionString = string koneksi = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Dokumen\Alfon\Kerja\BCA\Program\Program-Pengisian-Uang-ATM-BCA-SOY\Program-Pengisian-Uang-ATM-BCA-SOY\bin\x86\Debug\ATM SLA SURABAYA.xlsx;Extended Properties='Excel 12.0 xml;HDR=YES';";
int saldo;
Int32.TryParse(SaldoTB.Text, out saldo);
int thresholdcas;
Int32.TryParse(SaldoTB.Text, out thresholdcas); //baca angka yang diinput di NominalBox dan ubah jadi integer
OleDbConnection kon = new OleDbConnection(koneksi);
OleDbCommand command = kon.CreateCommand();
OleDbCommand command1 = kon.CreateCommand();
if(radiobtn[0].Checked)
{
kon.Open();
command.CommandText = "select * from [Data$] where [Tipe Mesin] = '" + radiobtn[0].Text + "'";
OleDbDataReader reader = command.ExecuteReader();
while(reader.Read())
{
konek.Open();
System.Data.DataTable aksesdatatabel;
aksesdatatabel = konek.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
konek.Close();
OleDbCommand command2 = new OleDbCommand
(
"select WSID, Lokasi, Saldo from [Sheet1$] where WSID = '" + reader["WSID"].ToString() + "'", konek
);
DataSet coba = new DataSet();
OleDbDataAdapter adapter = new OleDbDataAdapter(command2);
adapter.Fill(coba);
var table = coba.Tables[0];
var view = new DataView(table);
view.RowFilter = string.Format("Saldo < '{0}'", thresholdcas);
ViewDataSaldoGV.DataSource = view;
}
kon.Close();
}
}
dudeの場合、すべての行に対して新しいテーブル/ビューを作成します。ループ内を読み込み、ループの外側にビューを保存します。あなたはそれを処理できますか? – lordkain
コードをデバッグすると、* data *が1つしかない理由がわかります。ループ内のデータソースをリセットしています。 – mybirthname
ああ!どうもありがとうございます。私はそれをし、それは動作します!事前に感謝:) @ lordkain –