Exemplo n.º 1
0
 private void Detail_Click(object sender, RoutedEventArgs e)
 {
     var tabItem = (ListGridTab.SelectedItem as TabItem);
     if (tabItem != null)
     {
         var panel = tabItem.Content as StackPanel;
         if (panel != null)
         {
             var grid = panel.Children.OfType<DataGrid>().FirstOrDefault();
             if (grid != null)
             {
                 if (grid.SelectedItem == null)
                 {
                     MessageBox.Show("����ѡ��һ�У�");
                     return;
                 }
                 else
                 {
                     //������
                     var obj = grid.SelectedItem;
                     //ԭʼ����
                     var table = grid.Tag as TableData;
                     //���ҵ�ID��
                     var idProperty = obj.GetType().GetProperty(table.PkColumnDisplayName);
                     if (idProperty != null)
                     {
                         //ȡֵ
                         var id = idProperty.GetValue(obj, null);
                         if (id as string != null)
                         {
                             //���Ը�������ʾ���ҵ����ݿ���
                             var databaseName = "";
                             Table t = null;
                             foreach (var tt in table.Tables)
                             {
                                 var data = tt.Data;
                                 foreach (var d in data)
                                 {
                                     if (d.ContainsKey(table.PkColumnDisplayName) &&
                                         d[table.PkColumnDisplayName].ToString() == id.ToString())
                                     {
                                         databaseName = tt.DatabaseName;
                                         t = tt;
                                         break;
                                     }
                                 }
                                 if (!string.IsNullOrEmpty(databaseName))
                                     break;
                             }
                             ViewDetailData c = new ViewDetailData();
                             var root = Application.Current.RootVisual as FrameworkElement;
                             c.DetailCondition = new DetailCondition
                             {
                                 DatabasePrefix = t.DatabasePrefix,
                                 ID = id.ToString(),
                                 TableName = table.TableName,
                                 PkColumnName = table.PkColumnName,
                                 DatabaseName = databaseName,
                             };
                             c.Width = root.ActualWidth * 0.98;
                             c.Height = root.ActualHeight * 0.98;
                             c.HorizontalAlignment = HorizontalAlignment.Center;
                             c.VerticalAlignment = VerticalAlignment.Center;
                             c.Show();
                             service.LogAsync(new OperationLog
                             {
                                 AccountName = Data.AdminConfigurationItem.UserName,
                                 AccountRealName = Data.AdminConfigurationItem.RealName,
                                 CategoryName = t.DatabasePrefix.Substring(0, t.DatabasePrefix.IndexOf("__")),
                                 DatabaseName = t.DatabasePrefix.Substring(t.DatabasePrefix.IndexOf("__") + 2),
                                 TableName = table.TableName,
                                 Action = "�鿴��ϸ��ͼ",
                                 ActionMemo = string.Format("����������{0} ������{0}", table.PkColumnName, id.ToString()),
                             });
                         }
                     }
                 }
             }
         }
     }
 }
Exemplo n.º 2
0
 private void SearchDetailOnlyById_Click(object sender, RoutedEventArgs e)
 {
     if (string.IsNullOrEmpty(DetailId.Text))
     {
         MessageBox.Show("请填写ID");
         DetailId.Focus();
         return;
     }
     string categoryName = "";
     string databaseName = "";
     var databasePrefix = GetDatabasePrefix(ref categoryName, ref databaseName);
     if (databasePrefix != null)
     {
         ViewDetailData c = new ViewDetailData();
         var root = Application.Current.RootVisual as FrameworkElement;
         c.DetailCondition = new DetailCondition
         {
             DatabasePrefix = databasePrefix,
             ID = DetailId.Text,
         };
         c.Width = root.ActualWidth * 0.98;
         c.Height = root.ActualHeight * 0.98;
         c.HorizontalAlignment = HorizontalAlignment.Center;
         c.VerticalAlignment = VerticalAlignment.Center;
         c.Show();
         service.LogAsync(new OperationLog
         {
             AccountName = Data.AdminConfigurationItem.UserName,
             AccountRealName = Data.AdminConfigurationItem.RealName,
             CategoryName = categoryName,
             DatabaseName = databaseName,
             TableName = "",
             Action = "根据ID查看",
             ActionMemo = string.Format("ID:{0}", DetailId.Text),
         });
     }
 }
Exemplo n.º 3
0
        private void Detail_Click(object sender, RoutedEventArgs e)
        {
            var tabItem = (ListGridTab.SelectedItem as TabItem);

            if (tabItem != null)
            {
                var panel = tabItem.Content as StackPanel;
                if (panel != null)
                {
                    var grid = panel.Children.OfType <DataGrid>().FirstOrDefault();
                    if (grid != null)
                    {
                        if (grid.SelectedItem == null)
                        {
                            MessageBox.Show("请先选择一行!");
                            return;
                        }
                        else
                        {
                            //数据行
                            var obj = grid.SelectedItem;
                            //原始数据
                            var table = grid.Tag as TableData;
                            //先找到ID列
                            var idProperty = obj.GetType().GetProperty(table.PkColumnDisplayName);
                            if (idProperty != null)
                            {
                                //取值
                                var id = idProperty.GetValue(obj, null);
                                if (id as string != null)
                                {
                                    //尝试根据列显示名找到数据库名
                                    var   databaseName = "";
                                    Table t            = null;
                                    foreach (var tt in table.Tables)
                                    {
                                        var data = tt.Data;
                                        foreach (var d in data)
                                        {
                                            if (d.ContainsKey(table.PkColumnDisplayName) &&
                                                d[table.PkColumnDisplayName].ToString() == id.ToString())
                                            {
                                                databaseName = tt.DatabaseName;
                                                t            = tt;
                                                break;
                                            }
                                        }
                                        if (!string.IsNullOrEmpty(databaseName))
                                        {
                                            break;
                                        }
                                    }
                                    ViewDetailData c    = new ViewDetailData();
                                    var            root = Application.Current.RootVisual as FrameworkElement;
                                    c.DetailCondition = new DetailCondition
                                    {
                                        DatabasePrefix = t.DatabasePrefix,
                                        ID             = id.ToString(),
                                        TableName      = table.TableName,
                                        PkColumnName   = table.PkColumnName,
                                        DatabaseName   = databaseName,
                                    };
                                    c.Width  = root.ActualWidth * 0.98;
                                    c.Height = root.ActualHeight * 0.98;
                                    c.HorizontalAlignment = HorizontalAlignment.Center;
                                    c.VerticalAlignment   = VerticalAlignment.Center;
                                    c.Show();
                                    service.LogAsync(new OperationLog
                                    {
                                        AccountName     = Data.AdminConfigurationItem.UserName,
                                        AccountRealName = Data.AdminConfigurationItem.RealName,
                                        CategoryName    = t.DatabasePrefix.Substring(0, t.DatabasePrefix.IndexOf("__")),
                                        DatabaseName    = t.DatabasePrefix.Substring(t.DatabasePrefix.IndexOf("__") + 2),
                                        TableName       = table.TableName,
                                        Action          = "查看详细视图",
                                        ActionMemo      = string.Format("主键列名:{0} 主键:{0}", table.PkColumnName, id.ToString()),
                                    });
                                }
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 4
0
 private void ShowDetailView(DetailCondition dc, string categoryName, string databaseName)
 {
     ViewDetailData c = new ViewDetailData();
     var root = Application.Current.RootVisual as FrameworkElement;
     c.DetailCondition = dc;
     c.Width = root.ActualWidth * 0.98;
     c.Height = root.ActualHeight * 0.98;
     c.HorizontalAlignment = HorizontalAlignment.Center;
     c.VerticalAlignment = VerticalAlignment.Center;
     c.Show();
     service.LogAsync(new OperationLog
     {
         AccountName = Data.AdminConfigurationItem.UserName,
         AccountRealName = Data.AdminConfigurationItem.RealName,
         CategoryName = categoryName,
         DatabaseName = databaseName,
         TableName = dc.TableName,
         Action = "查看详细视图",
         ActionMemo = string.Format("主键列名:{0} 主键:{0}", dc.PkColumnName, dc.ID),
     });
 }