From 9d1660270272180cd71147d6ddd53d1382643d2e Mon Sep 17 00:00:00 2001
From: wenxiangchao <wenxiangchao@ihengxin.com.cn>
Date: 星期一, 02 十一月 2026 18:00:14 +0800
Subject: [PATCH] merge: 并入远程 Initial commit 作为历史根节点

---
 HMI.DataViewer/DbSettingModal.xaml |  137 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 137 insertions(+), 0 deletions(-)

diff --git a/HMI.DataViewer/DbSettingModal.xaml b/HMI.DataViewer/DbSettingModal.xaml
new file mode 100644
index 0000000..fa82faa
--- /dev/null
+++ b/HMI.DataViewer/DbSettingModal.xaml
@@ -0,0 +1,137 @@
+锘�<pu:WindowX x:Class="HMI.DataViewer.DbSettingModal"
+            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+            xmlns:local="clr-namespace:HMI.DataViewer"
+            xmlns:pw="https://opensource.panuon.com/wpf"
+            xmlns:pu="https://opensource.panuon.com/wpf-ui"
+            xmlns:uic="clr-namespace:HMI.UI.Converter;assembly=HMI.UI"
+            xmlns:ui="clr-namespace:HMI.UI;assembly=HMI.UI"
+            xmlns:dp="clr-namespace:HMI.UI.DpUtil;assembly=HMI.UI"
+            mc:Ignorable="d"
+            Title="Form"
+            SizeToContent="Height"
+            Width="800"
+            WindowStartupLocation="CenterOwner"
+            BorderBrush="#3E3E45"
+            BorderThickness="1"
+            Foreground="Black"
+            Style="{StaticResource ModalWindow}">
+    <Grid Margin="10">
+        <StackPanel x:Name="formPanel">
+            <pu:FormGroup Header="{DynamicResource Dv.Datasource.Name}"
+                          dp:FormGroupHelper.IsRequired="True"
+                          dp:FormGroupHelper.ValidateMethod="ValidateName"
+                          Style="{StaticResource InputFormGroupStyle}"
+                          GroupName="MyFormGroup">
+                <TextBox Style="{StaticResource EditorTextBoxStyle}" x:Name="programInput"/>
+            </pu:FormGroup>
+
+            <pu:FormGroup Header="{DynamicResource Dv.Datasource.File}"
+                          dp:FormGroupHelper.IsRequired="True"
+                          Style="{StaticResource InputFormGroupStyle}"
+                          GroupName="MyFormGroup">
+                <Grid>
+                    <Grid.ColumnDefinitions>
+                        <ColumnDefinition/>
+                        <ColumnDefinition Width="Auto"/>
+                    </Grid.ColumnDefinitions>
+                    <TextBox Style="{StaticResource EditorTextBoxStyle}" IsReadOnly="False" x:Name="dbFilePathInput"/>
+                    <Button Style="{StaticResource SearchButton}" x:Name="searchBtn" Click="Button_Click" Grid.Column="1"/>
+                </Grid>
+            </pu:FormGroup>
+
+            <pu:FormGroup Header="{DynamicResource Dv.Datasource.Table}"
+                          dp:FormGroupHelper.IsRequired="True"
+                          Style="{StaticResource InputFormGroupStyle}"
+                          GroupName="MyFormGroup">
+                <ComboBox Style="{StaticResource FormComboxStyle}" SelectedValuePath="Content" 
+                          x:Name="tableNameInput" SelectionChanged="ComboxSelectionChanged"/>
+            </pu:FormGroup>
+
+            <pu:FormGroup Header="閫氶厤绗�" Style="{StaticResource InputFormGroupStyle}" GroupName="MyFormGroup">
+                <TextBox Style="{StaticResource EditorTextBoxStyle}" x:Name="TbPattern"/>
+            </pu:FormGroup>
+
+            <pu:FormGroup Header="{DynamicResource Dv.Datasource.Fields}" Orientation="Vertical" GroupName="MyFormGroup">
+                <Grid dp:GridHelper.Space="10">
+                    <Grid.ColumnDefinitions>
+                        <ColumnDefinition/>
+                        <ColumnDefinition Width="Auto"/>
+                        <ColumnDefinition/>
+                    </Grid.ColumnDefinitions>
+
+                    <DataGrid Style="{StaticResource DefaultDataGrid}"
+                              BorderThickness="1"
+                              SelectionMode="Extended"
+                              ItemsSource="{Binding Columns}" x:Name="columnTable">
+                        <DataGrid.Columns>
+                            <DataGridTemplateColumn Header="#" CanUserResize="False">
+                                <DataGridTemplateColumn.CellTemplate>
+                                    <DataTemplate>
+                                        <TextBlock Text="{Binding Converter={StaticResource rowNumber},
+RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type DataGridRow},AncestorLevel=1}}"/>
+                                    </DataTemplate>
+                                </DataGridTemplateColumn.CellTemplate>
+                            </DataGridTemplateColumn>
+                            <DataGridTextColumn Width="*" Binding="{Binding }">
+                                <DataGridTextColumn.Header>
+                                    <TextBlock Text="{DynamicResource Dv.Datasource.FieldName}"/>
+                                </DataGridTextColumn.Header>
+                            </DataGridTextColumn>
+                        </DataGrid.Columns>
+                    </DataGrid>
+
+                    <StackPanel Grid.Column="1" VerticalAlignment="Stretch" dp:StackPanelHelper.ChildSpace="10">
+                        <Button Style="{StaticResource PrimaryButton}" x:Name="selectAllBtn" Click="Button_Click"
+                                Content="{DynamicResource App.SelectAll}"
+                                />
+                        <Button Style="{StaticResource PrimaryButton}" x:Name="addBtn" Click="Button_Click"
+                                Content="{DynamicResource App.AddTo}"/>
+                        <Button Style="{StaticResource PrimaryButton}" x:Name="delBtn" Click="Button_Click"
+                                Content="{DynamicResource App.Delete}" />
+                    </StackPanel>
+
+                    <DataGrid Grid.Column="2" Style="{StaticResource DefaultDataGrid}"
+                              BorderThickness="1"
+                              IsReadOnly="False"
+                              SelectionMode="Extended"
+                              ItemsSource="{Binding Conditions}" x:Name="conditionTable">
+                        <DataGrid.Columns>
+                            <DataGridTemplateColumn Header="#" CanUserResize="False" IsReadOnly="True">
+                                <DataGridTemplateColumn.CellTemplate>
+                                    <DataTemplate>
+                                        <TextBlock Text="{Binding Converter={StaticResource rowNumber},
+RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type DataGridRow},AncestorLevel=1}}"/>
+                                    </DataTemplate>
+                                </DataGridTemplateColumn.CellTemplate>
+                            </DataGridTemplateColumn>
+                            <DataGridTextColumn Width="*" IsReadOnly="True" Binding="{Binding Key}">
+                                <DataGridTextColumn.Header>
+                                    <TextBlock Text="{DynamicResource Dv.Datasource.FieldName}"/>
+                                </DataGridTextColumn.Header>
+                            </DataGridTextColumn>
+                            <DataGridTextColumn Width="*" Binding="{Binding Desc}">
+                                <DataGridTextColumn.Header>
+                                    <TextBlock Text="{DynamicResource Dv.Datasource.Desc}"/>
+                                </DataGridTextColumn.Header>
+                            </DataGridTextColumn>
+                            <DataGridTemplateColumn Width="*" IsReadOnly="True">
+                                <DataGridTemplateColumn.Header>
+                                    <TextBlock Text="{DynamicResource Dv.Datasource.TimeField}"/>
+                                </DataGridTemplateColumn.Header>
+                                <DataGridTemplateColumn.CellTemplate>
+                                    <DataTemplate>
+                                        <RadioButton IsChecked="{Binding IsTimeCol,Mode=OneWay}" 
+                                                     Click="RadioButton_Click"/>
+                                    </DataTemplate>
+                                </DataGridTemplateColumn.CellTemplate>
+                            </DataGridTemplateColumn>
+                        </DataGrid.Columns>
+                    </DataGrid>
+                </Grid>
+            </pu:FormGroup>
+        </StackPanel>
+    </Grid>
+</pu:WindowX>

--
Gitblit v1.9.1