From e3868d4d61ded0e76fc8fe3fdacdd9e6d9113cf1 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期一, 13 十月 2025 08:50:15 +0800
Subject: [PATCH] 优化HMI;

---
 HMI.DataViewer/DataViewer.xaml.cs |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/HMI.DataViewer/DataViewer.xaml.cs b/HMI.DataViewer/DataViewer.xaml.cs
index a1e2400..bad13fc 100644
--- a/HMI.DataViewer/DataViewer.xaml.cs
+++ b/HMI.DataViewer/DataViewer.xaml.cs
@@ -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