私の Windows アプリケーションでは、List_box で Text_box を使用しています。キープレスイベントでイベントが発生すると、データが取得され、リストボックスにリストされます
私の問題は次のとおりです。データベースにヒットするキープレスイベントごとに、アプリケーションが遅くなりました。
キープレスイベントでデータベースのラウンドトリップを減らすにはどうすればよいですか?
private void txtVehicleNo_TextChanged(object sender, EventArgs e)
{
try
{
lstVehicleNo.Visible = true;
if (!string.IsNullOrEmpty(txtVehicleNo.Text))
{
dsResult = oclsBal.GetVhNo(txtVehicleNo.Text);
if (dsResult.Tables.Count > 0)
{
DataRow dr = dsResult.Tables[0].NewRow();
lstVehicleNo.DataSource = dsResult.Tables[0];
lstVehicleNo.DisplayMember = "VehicleNo";
lstVehicleNo.ValueMember = "VehicleId";
lstVehicleNo.SelectedIndex = 0;
dsResult.Tables.Clear();
}
}
if (lstVehicleNo.Items.Count == 0)
{
lstVehicleNo.Visible = false;
}
if (txtVehicleNo.Text.Length == 0)
{
lstVehicleNo.Visible = false;
}
if (lstVehicleNo.Items.Count == 1)
{
if (txtVehicleNo.Text.ToUpper() == lstVehicleNo.Items[0].ToString().ToUpper())
lstVehicleNo.Visible = false;
}
}
catch (Exception ex)
{
throw ex;
}
}