From 3a471ae651b228231bebb3a2d438baa1d4ac0261 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期五, 21 十一月 2025 08:57:52 +0800
Subject: [PATCH] 优化
---
HMI.DataViewer/DataViewer.xaml.cs | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/HMI.DataViewer/DataViewer.xaml.cs b/HMI.DataViewer/DataViewer.xaml.cs
index a1e2400..cd1a970 100644
--- a/HMI.DataViewer/DataViewer.xaml.cs
+++ b/HMI.DataViewer/DataViewer.xaml.cs
@@ -176,7 +176,7 @@
Map.Clear();
foreach (var data in settings)
{
- Map.Add(data.Program, data);
+ Map[data.Program] = data;
names.Add(data.Program);
}
programInput.ItemsSource = names;
@@ -304,14 +304,19 @@
private DataTable DoSearchData(DataBase_Setting setting, List<QueryData> datas)
{
+ string conditon = "WHERE 1=1 ";
string fields = string.Join(",", Datas?.Select(d => $"[{d.Key}]").ToList());
+ if (datas != null && datas.Count > 0)
+ {
+ conditon = "WHERE " + string.Join(" AND ", datas.Select(d => $"[{d.Key}] {d.Condition} '{d.Value}'").ToList());
+ }
- string conditon = string.Join(" AND ", datas.Select(d => $"[{d.Key}] {d.Condition} '{d.Value}'").ToList());
string timeCol = setting.TimeCol;
if (string.IsNullOrEmpty(timeCol))
{
timeCol = "time";
}
+
if (!string.IsNullOrEmpty(startTimeInput.Text))
{
conditon += $" AND {timeCol} >= '{startTimeInput.Text}'";
@@ -320,7 +325,6 @@
{
conditon += $" AND {timeCol} < '{endTimeInput.Text}'";
}
- conditon = string.IsNullOrEmpty(conditon) ? string.Empty : $" WHERE {conditon}";
SqliteHelper helper = null;
string sql = string.Empty;
@@ -354,7 +358,9 @@
}
var datas = Datas?.Where(d => !string.IsNullOrEmpty(d.Value)).ToList();
- if (datas == null || datas.Count <= 0)
+
+ if ((datas == null || datas.Count <= 0) &&
+ (string.IsNullOrEmpty(startTimeInput.Text) || string.IsNullOrEmpty(endTimeInput.Text)))
{
ToastHelper.Warning(Window.GetWindow(this), this.lang("Dv.QueryCantBeEmpty"));
return;
--
Gitblit v1.9.1