Procházet zdrojové kódy

修改测试项bug

ltwork před 1 rokem
rodič
revize
d3cabecb5b

+ 4 - 0
BlankApp1/BizService/BasicPlcTestSchemeService.cs

@@ -22,5 +22,9 @@ namespace BizService
         {
             return base.GetList(x => x.devicekind_name == typeName);
         }
+        public bas_plc_test_scheme FindByNameAndType(string schemeName, string typeName)
+        {
+            return base.GetFirst(x =>(( x.scheme_name == schemeName)&&(x.devicekind_name == typeName)));
+        }
     }
 }

+ 2 - 0
BlankApp1/BizService/IBasicPlcTestSchemeService.cs

@@ -12,5 +12,7 @@ namespace BizService
         public bas_plc_test_scheme FindByName(string schemeName);
 
         public List<bas_plc_test_scheme> FindAllByKind(string typeName);
+
+        public bas_plc_test_scheme FindByNameAndType(string schemeName,string typeName);
     }
 }

+ 4 - 1
BlankApp1/BlankApp1/App.xaml

@@ -17,8 +17,11 @@
                 
                 <ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml" />
                 <ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml" />
-
+                
             </ResourceDictionary.MergedDictionaries>
+            <Style TargetType="{x:Type Expander }">
+                
+            </Style>
         </ResourceDictionary>
     </Application.Resources>
 </prism:PrismApplication>

+ 1 - 1
BlankApp1/BlankApp1/Models/SelectItemModel.cs

@@ -10,7 +10,7 @@ namespace PLCTool.Models
     public class SelectItemModel:BaseDto
     {
         private long id { get; set; }
-        public long Id
+        public long SchDtlId
         {
             get { return id; }
             set { id = value; OnPropertyChanged(); }

+ 135 - 90
BlankApp1/BlankApp1/ViewModels/BasicConfigViewModel/AddOrEditSchViewModel.cs

@@ -60,6 +60,9 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
             UpCommand = new DelegateCommand<object>(DataUp);
             DownCommand = new DelegateCommand<object>(DataDown);
             SaveAllSchCommand = new DelegateCommand<object>(SaveAllSch);
+            EditDetailCommand = new DelegateCommand<object>(DataGridSelectChange);
+           
+
             BeforeConList = new ObservableCollection<BasPlcItemConfigDto>();
             InConList = new ObservableCollection<BasPlcItemConfigDto>();
             OutConList = new ObservableCollection<BasPlcItemConfigDto>();
@@ -69,7 +72,8 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
             GetConfigOption();
         }
 
-       
+     
+
 
 
 
@@ -95,7 +99,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
         public void OnDialogOpened(IDialogParameters parameters)
         {
             //编辑
-            var getMsg = parameters.GetValues<long>("Key");
+            var getMsg = parameters.GetValues<string>("Key");
             ///值不为空,表示修改,为空表示新增
             if (getMsg != null)
             {
@@ -105,92 +109,20 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
                     {
 
                         Title = "编辑方案";
-                        int id = Convert.ToInt32(item);
-                        schDtlMainId = id;//全局变量赋值,测试方案明细id
-                                          //根据 测试方案明细主键ID 查找测试方案id 及方案名和设备名
-                        var findEntity = _basicPlcTestSchemeDtlService.Find(id);
-                        var findresult = _mapper.Map<bas_plc_test_scheme_dtl, BasicPlcTestSchemeDtlDto>(findEntity);
-                        if (findresult != null)
+                        ScheduleName= item.ToString();
+                        //获取已经有的测试项
+                        GetExistSchs();
+                        //展示第一个测试项详情
+                        var findSch=_basicPlcTestSchemeService.FindByNameAndType(ScheduleName, DeviceKindName);
+                        if(findSch != null)
                         {
-                            //根据方案id 在方案表中查找方案名 设备名
-                            int schID = Convert.ToInt32(findresult.SchemeId);
-                            //测试方案
-                            bas_Plc_Test_Scheme = _basicPlcTestSchemeService.Find(schID);
-                            if (bas_Plc_Test_Scheme != null)
-                            {
-                                ScheduleName = bas_Plc_Test_Scheme.scheme_name;
-                                DeviceKindName = bas_Plc_Test_Scheme.devicekind_name;
-
-                            }
-                            TestName = findresult.ItemName;
-                            SelectTest = findresult.ItemType;
-                            //前置项解析
-                            string preconStr = findresult.Precondition.ToString();
-                            if (!string.IsNullOrEmpty(preconStr))
-                            {
-                                JsonModel preconditionModel = JsonConvert.DeserializeObject<JsonModel>(preconStr);
-                                BeforeSelectJudge = preconditionModel.ItemType;
-                                SelectLogic = preconditionModel.ItemLogical;
-                                BeforeDetail = preconditionModel.Description;
-                                BeforeConList.Clear();
-                                foreach (var detail in preconditionModel.DetailInfo)
-                                {
-                                    BasPlcItemConfigDto basPlcItemConfigDto = new BasPlcItemConfigDto();
-                                    basPlcItemConfigDto.Id = detail.Id;
-                                    basPlcItemConfigDto.PlcItem = detail.PlcItem;
-                                    basPlcItemConfigDto.PlcAddress = detail.PlcAddress;
-                                    basPlcItemConfigDto.PlcAddType = detail.PlcAddType;
-                                    basPlcItemConfigDto.PlcValue = detail.PlcValue;
-                                    basPlcItemConfigDto.Remark = detail.Remark;
-                                    BeforeConList.Add(basPlcItemConfigDto);
-                                }
-                            }
-
-                            //输入项解析
-                            string inStr = findresult.Action.ToString();
-                            if (!string.IsNullOrEmpty(inStr))
-                            {
-                                JsonModel inModel = JsonConvert.DeserializeObject<JsonModel>(inStr);
-                                SelectInJudge = inModel.ItemType;
-                                InSelectLogic = inModel.ItemLogical;
-                                InDetail = inModel.Description;
-                                InConList.Clear();
-                                foreach (var detail in inModel.DetailInfo)
-                                {
-                                    BasPlcItemConfigDto basPlcItemConfigDto = new BasPlcItemConfigDto();
-                                    basPlcItemConfigDto.Id = detail.Id;
-                                    basPlcItemConfigDto.PlcItem = detail.PlcItem;
-                                    basPlcItemConfigDto.PlcAddress = detail.PlcAddress;
-                                    basPlcItemConfigDto.PlcAddType = detail.PlcAddType;
-                                    basPlcItemConfigDto.PlcValue = detail.PlcValue;
-                                    basPlcItemConfigDto.Remark = detail.Remark;
-                                    InConList.Add(basPlcItemConfigDto);
-                                }
-                            }
-
-                            //输出项解析
-                            string outStr = findresult.JudgementResult.ToString();
-                            if (!string.IsNullOrEmpty(outStr))
-                            {
-                                JsonModel outModel = JsonConvert.DeserializeObject<JsonModel>(outStr);
-                                SelectOutJudge = outModel.ItemType;
-                                OutSelectLogic = outModel.ItemLogical;
-                                OutDetail = outModel.Description;
-                                OutConList.Clear();
-                                foreach (var detail in outModel.DetailInfo)
-                                {
-                                    BasPlcItemConfigDto basPlcItemConfigDto = new BasPlcItemConfigDto();
-                                    basPlcItemConfigDto.Id = detail.Id;
-                                    basPlcItemConfigDto.PlcItem = detail.PlcItem;
-                                    basPlcItemConfigDto.PlcAddress = detail.PlcAddress;
-                                    basPlcItemConfigDto.PlcAddType = detail.PlcAddType;
-                                    basPlcItemConfigDto.PlcValue = detail.PlcValue;
-                                    basPlcItemConfigDto.Remark = detail.Remark;
-                                    OutConList.Add(basPlcItemConfigDto);
-                                }
-                            }
-
+                            long schID = findSch.scheme_id;
+                            int schDtlId=(int)_basicPlcTestSchemeDtlService.FindAllBySchId(schID)?.OrderBy(x => x.scheme_dtl_id)?.First()?.scheme_dtl_id;
+                       
+                            schDtlMainId = schDtlId;//全局变量赋值,测试方案明细id
+                            GetDetaiMsg(schDtlId);
                         }
+                       
                     }
                     catch (Exception ex)
                     {
@@ -201,10 +133,122 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
                 }
 
         }
+
+            var getMsg2 = parameters.GetValues<string>("Key2");
+            if(getMsg2 != null )
+            {
+                foreach (var item in getMsg2)
+                {
+                    DeviceKindName = item;
+                }
+            }
+        }
+
+        /// <summary>
+        ///  测试方案明细主键ID 查找测试方案id 及方案名
+        /// </summary>
+        /// <param name="schDtlId"></param>
+        private void GetDetaiMsg(int schDtlId)
+        {
+            //根据 测试方案明细主键ID 查找测试方案id 及方案名和设备名
+            var findEntity = _basicPlcTestSchemeDtlService.Find(schDtlId);
+            var findresult = _mapper.Map<bas_plc_test_scheme_dtl, BasicPlcTestSchemeDtlDto>(findEntity);
+            if (findresult != null)
+            {
+                //根据方案id 在方案表中查找方案名 设备名
+                int schID = Convert.ToInt32(findresult.SchemeId);
+                //测试方案
+                bas_Plc_Test_Scheme = _basicPlcTestSchemeService.Find(schID);
+                if (bas_Plc_Test_Scheme != null)
+                {
+                    ScheduleName = bas_Plc_Test_Scheme.scheme_name;
+                    DeviceKindName = bas_Plc_Test_Scheme.devicekind_name;
+
+                }
+                TestName = findresult.ItemName;
+                SelectTest = findresult.ItemType;
+                //前置项解析
+                string preconStr = findresult.Precondition.ToString();
+                if (!string.IsNullOrEmpty(preconStr))
+                {
+                    JsonModel preconditionModel = JsonConvert.DeserializeObject<JsonModel>(preconStr);
+                    BeforeSelectJudge = preconditionModel.ItemType;
+                    SelectLogic = preconditionModel.ItemLogical;
+                    BeforeDetail = preconditionModel.Description;
+                    BeforeConList.Clear();
+                    foreach (var detail in preconditionModel.DetailInfo)
+                    {
+                        BasPlcItemConfigDto basPlcItemConfigDto = new BasPlcItemConfigDto();
+                        basPlcItemConfigDto.Id = detail.Id;
+                        basPlcItemConfigDto.PlcItem = detail.PlcItem;
+                        basPlcItemConfigDto.PlcAddress = detail.PlcAddress;
+                        basPlcItemConfigDto.PlcAddType = detail.PlcAddType;
+                        basPlcItemConfigDto.PlcValue = detail.PlcValue;
+                        basPlcItemConfigDto.Remark = detail.Remark;
+                        BeforeConList.Add(basPlcItemConfigDto);
+                    }
+                }
+
+                //输入项解析
+                string inStr = findresult.Action.ToString();
+                if (!string.IsNullOrEmpty(inStr))
+                {
+                    JsonModel inModel = JsonConvert.DeserializeObject<JsonModel>(inStr);
+                    SelectInJudge = inModel.ItemType;
+                    InSelectLogic = inModel.ItemLogical;
+                    InDetail = inModel.Description;
+                    InConList.Clear();
+                    foreach (var detail in inModel.DetailInfo)
+                    {
+                        BasPlcItemConfigDto basPlcItemConfigDto = new BasPlcItemConfigDto();
+                        basPlcItemConfigDto.Id = detail.Id;
+                        basPlcItemConfigDto.PlcItem = detail.PlcItem;
+                        basPlcItemConfigDto.PlcAddress = detail.PlcAddress;
+                        basPlcItemConfigDto.PlcAddType = detail.PlcAddType;
+                        basPlcItemConfigDto.PlcValue = detail.PlcValue;
+                        basPlcItemConfigDto.Remark = detail.Remark;
+                        InConList.Add(basPlcItemConfigDto);
+                    }
+                }
+
+                //输出项解析
+                string outStr = findresult.JudgementResult.ToString();
+                if (!string.IsNullOrEmpty(outStr))
+                {
+                    JsonModel outModel = JsonConvert.DeserializeObject<JsonModel>(outStr);
+                    SelectOutJudge = outModel.ItemType;
+                    OutSelectLogic = outModel.ItemLogical;
+                    OutDetail = outModel.Description;
+                    OutConList.Clear();
+                    foreach (var detail in outModel.DetailInfo)
+                    {
+                        BasPlcItemConfigDto basPlcItemConfigDto = new BasPlcItemConfigDto();
+                        basPlcItemConfigDto.Id = detail.Id;
+                        basPlcItemConfigDto.PlcItem = detail.PlcItem;
+                        basPlcItemConfigDto.PlcAddress = detail.PlcAddress;
+                        basPlcItemConfigDto.PlcAddType = detail.PlcAddType;
+                        basPlcItemConfigDto.PlcValue = detail.PlcValue;
+                        basPlcItemConfigDto.Remark = detail.Remark;
+                        OutConList.Add(basPlcItemConfigDto);
+                    }
+                }
+
+            }
         }
 
         #endregion
         #region 私有方法
+        /// <summary>
+        /// 选中datadagridView某一行
+        /// </summary>
+        /// <param name="obj"></param>
+        private void DataGridSelectChange(object obj)
+        {
+            int schDtlId = Convert.ToInt32(obj);
+            schDtlMainId = schDtlId;//全局变量赋值,测试方案明细id
+            GetDetaiMsg(schDtlId);
+        }
+
         /// <summary>
         /// 保存所有测试项
         /// </summary>
@@ -299,7 +343,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
                 DeviceKindName = findSche.devicekind_name;
                 long schID = findSche.scheme_id;
                 //查找此方案下的所有的测试项,并增加到表格
-                var schDtls = _basicPlcTestSchemeDtlService.QueryList()?.FindAll(x => x.scheme_id == schID);
+                var schDtls = _basicPlcTestSchemeDtlService.QueryList()?.FindAll(x => x.scheme_id == schID)?.OrderBy(x=>x.scheme_dtl_id);
                 foreach (var unit in schDtls)
                 {
                     string itemType = string.Empty;
@@ -317,7 +361,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
                     }
                     SchProjectList.Add(new SelectItemModel
                     {
-                        Id = unit.scheme_dtl_id,
+                        SchDtlId = unit.scheme_dtl_id,
                         ItemName = unit.item_name,
                         ItemType = itemType,
                     }); ;
@@ -333,7 +377,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
         private void DataDown(object obj)
         {
             int id = Convert.ToInt32(obj);
-            var findScheExist = SchProjectList.FirstOrDefault(x => x.Id == id);
+            var findScheExist = SchProjectList.FirstOrDefault(x => x.SchDtlId == id);
             if (findScheExist != null)
             {
 
@@ -357,7 +401,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
         private void DataUp(object obj)
         {
             int id = Convert.ToInt32(obj);
-            var findScheExist = SchProjectList.FirstOrDefault(x => x.Id == id);
+            var findScheExist = SchProjectList.FirstOrDefault(x => x.SchDtlId == id);
             if (findScheExist != null)
             {
 
@@ -882,6 +926,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
         public DelegateCommand<object> DownCommand { set; get; }
         public DelegateCommand<object> UpCommand { set; get; }
         public DelegateCommand<object> SaveAllSchCommand { set; get; }
+        public DelegateCommand<object> EditDetailCommand { set; get; }
         
         #endregion
         #region 变量绑定

+ 7 - 2
BlankApp1/BlankApp1/ViewModels/BasicConfigViewModel/BaseConfigViewModel.cs

@@ -144,9 +144,14 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
          private void Edit(object obj)
         {
             //测试方案明细主键ID
-            long id = Convert.ToInt64(obj);
+            object[] multiObj = obj as object[];
+
+            //测试方案名称和设备类型
+            string schemeName = (string)multiObj[0];
+            string deviceKindName = (string)multiObj[1];
             DialogParameters parm = new DialogParameters();
-            parm.Add("Key", id);
+            parm.Add("Key", schemeName);
+            parm.Add("Key2", deviceKindName);
             //弹出详情对话框
             _dialog.ShowDialog("AddOrEditSchView", parm, async callback =>
             {

+ 4 - 4
BlankApp1/BlankApp1/ViewModels/BasicConfigViewModel/CopySchViewModel.cs

@@ -64,7 +64,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
         private void DataDown(object obj)
         {
             int id = Convert.ToInt32(obj);
-            var findScheExist = SchProjectList.FirstOrDefault(x => x.Id == id);
+            var findScheExist = SchProjectList.FirstOrDefault(x => x.SchDtlId == id);
             if (findScheExist != null)
             {
 
@@ -88,7 +88,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
         private void DataUp(object obj)
         {
             int id = Convert.ToInt32(obj);
-            var findScheExist = SchProjectList.FirstOrDefault(x=>x.Id==id);
+            var findScheExist = SchProjectList.FirstOrDefault(x=>x.SchDtlId==id);
             if (findScheExist != null)
             {
 
@@ -146,7 +146,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
                 {
                     if (sch.IsSelected)
                     {
-                        int dtlId = Convert.ToInt32(sch.Id);
+                        int dtlId = Convert.ToInt32(sch.SchDtlId);
                         var unit = _basicPlcTestSchemeDtlService.Find(dtlId);
                         if (unit != null)
                         {
@@ -251,7 +251,7 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
                                 {
                                     SchProjectList.Add(new SelectItemModel
                                     {
-                                        Id = unit.scheme_dtl_id,
+                                        SchDtlId = unit.scheme_dtl_id,
                                         ItemName = unit.item_name,
                                         ItemType = itemType,
                                     });

+ 5 - 1
BlankApp1/BlankApp1/ViewModels/BusinessManageViewModel/TestResultDetailViewModel.cs

@@ -96,7 +96,11 @@ namespace PLCTool.ViewModels.BusinessManageViewModel
                         {
                             long dtlId = record.scheme_dtl_id;
                             string itemName= _basicPlcTestSchemeDtlService.Find((int)dtlId)?.item_name;
-                            SchItems.Add(itemName);
+                            if(!String.IsNullOrEmpty(itemName))
+                            {
+                                SchItems.Add(itemName);
+                            }
+                            
                             //在集合中添加满足条件的测试结果
                             conditionRecordList.Add(new BizTestRecordDtlDto()
                             {

+ 17 - 11
BlankApp1/BlankApp1/Views/BasicConfigView/AddOrEditSchView.xaml

@@ -34,10 +34,8 @@
             </b:EventTrigger>
         </b:Interaction.Triggers>
         <Grid.RowDefinitions>
-
             <RowDefinition Height="50" />
             <RowDefinition Height="auto" />
-          
             <RowDefinition />
    
         </Grid.RowDefinitions>
@@ -59,10 +57,9 @@
 
                 </TextBox>
             </StackPanel>
-            
-          
+
             <Button  Content="保存测试方案" Width="80"  Margin="5,0"  Command="{Binding SaveAllSchCommand}" Style="{StaticResource NormalButtonStyle}" />
-            <Button  Content="重置" Width="80"  Margin="5,0"  Command="{Binding ResetCommand}" Style="{StaticResource NormalButtonStyle}" />
+            
         </StackPanel>
         <Border Grid.Row="0"  BorderBrush="#CBCBCB" BorderThickness="0,1" />
         <Expander  Grid.Row="1" >
@@ -70,30 +67,39 @@
                 <Label Content="已有测试项" FontSize="10"/>
             </Expander.Header>
             <DataGrid  Grid.Row="2"  ColumnWidth="*" AutoGenerateColumns="False" HeadersVisibility="All" CanUserAddRows="False"  SelectionUnit="FullRow" SelectionMode="Single"   RowHeaderWidth="0"
-   ColumnHeaderStyle="{StaticResource ColumnHeaderStyle}"  RowHeaderStyle="{StaticResource RowHeaderStyle}" RowStyle="{StaticResource DataGridRowtyle}"  AlternationCount="2"
+   ColumnHeaderStyle="{StaticResource ColumnHeaderStyle}"  RowHeaderStyle="{StaticResource RowHeaderStyle}" RowStyle="{StaticResource DataGridRowtyle}"  AlternationCount="2" 
   ItemsSource="{Binding SchProjectList}" IsReadOnly="True" Margin="5" Padding="0"  >
+                <b:Interaction.Triggers>
+                    <b:EventTrigger EventName="SelectionChanged">
+                        <b:InvokeCommandAction Command="{Binding DgSelectChangeCommand}" CommandParameter="{Binding SchDtlId}"/>
+                    </b:EventTrigger>
+                </b:Interaction.Triggers>
                 <DataGrid.Columns >
                     <DataGridTextColumn Header="测试项" Binding="{Binding ItemName}" CellStyle="{StaticResource MyDataGridCellStyle}"/>
                     <DataGridTextColumn Header="测试项类型" Binding="{Binding ItemType}" CellStyle="{StaticResource MyDataGridCellStyle}"/>
-                    <DataGridTemplateColumn Header="操作" Width="180" CellStyle="{StaticResource MyDataGridCellStyle}">
+                    <DataGridTemplateColumn Header="操作" Width="240" CellStyle="{StaticResource MyDataGridCellStyle}">
                         <DataGridTemplateColumn.CellTemplate>
                             <DataTemplate>
                                 <StackPanel Orientation="Horizontal">
                                     <Button  Width="auto" Background="Transparent" HorizontalContentAlignment ="Left" Foreground="Black" Height="25" BorderThickness="0"
-        Command="{Binding DataContext.UpCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid}}" CommandParameter="{Binding Id}" Cursor="Hand" Margin="0,0,10,0" >
+        Command="{Binding DataContext.UpCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid}}" CommandParameter="{Binding SchDtlId}" Cursor="Hand" Margin="0,0,10,0" >
 
                                         <StackPanel Orientation="Horizontal">
                                             <TextBlock  Text="上移↑" VerticalAlignment="Center" Foreground="Blue"/>
                                         </StackPanel>
                                     </Button>
                                     <Button  Width="auto" Background="Transparent" HorizontalContentAlignment ="Left" Foreground="Black" Height="25" BorderThickness="0"
-        Command="{Binding DataContext.DownCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid}}" CommandParameter="{Binding Id}" Cursor="Hand" Margin="0,0,10,0">
-
+        Command="{Binding DataContext.DownCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid}}" CommandParameter="{Binding SchDtlId}" Cursor="Hand" Margin="0,0,10,0">
                                         <StackPanel Orientation="Horizontal">
                                             <TextBlock  Text="下移↓" VerticalAlignment="Center" Foreground="Blue"/>
                                         </StackPanel>
                                     </Button>
-
+                                    <Button  Width="auto" Background="Transparent" HorizontalContentAlignment ="Left" Foreground="Black" Height="25" BorderThickness="0"
+                                        Command="{Binding DataContext.EditDetailCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid}}" CommandParameter="{Binding SchDtlId}" Cursor="Hand" Margin="0,0,10,0">
+                                        <StackPanel Orientation="Horizontal">
+                                            <TextBlock  Text="编辑" VerticalAlignment="Center" Foreground="Blue"/>
+                                        </StackPanel>
+                                    </Button>
                                 </StackPanel>
                             </DataTemplate>
                         </DataGridTemplateColumn.CellTemplate>

+ 12 - 3
BlankApp1/BlankApp1/Views/BasicConfigView/BaseConfigView.xaml

@@ -8,8 +8,12 @@
              xmlns:myContr="clr-namespace:BlankApp1.Controls"
              xmlns:wpfdev="https://github.com/WPFDevelopersOrg/WPFDevelopers"
              xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
+             xmlns:cvt="clr-namespace:PLCTool.Controls.Convert"
              mc:Ignorable="d" 
              d:DesignHeight="450" d:DesignWidth="800">
+    <UserControl.Resources>
+        <cvt:TwoParConverter x:Key="TwoParConverter"/>
+    </UserControl.Resources>
     <Grid >
         <b:Interaction.Triggers>
             <b:EventTrigger EventName="Loaded">
@@ -76,9 +80,14 @@
                             <DataTemplate>
                                 <StackPanel Orientation="Horizontal">
                                     <Button  Width="auto" Background="Transparent" HorizontalContentAlignment ="Left" Foreground="Black" Height="25" BorderThickness="0"
-                                        Command="{Binding DataContext.EditCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid}}" CommandParameter="{Binding SchemeId}" Cursor="Hand" Margin="0,0,10,0" >
-
-                                        <StackPanel Orientation="Horizontal">
+                                        Command="{Binding DataContext.EditCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid}}"  Cursor="Hand" Margin="0,0,10,0" >
+                                    <Button.CommandParameter>
+                                        <MultiBinding Converter="{ StaticResource ResourceKey=TwoParConverter}">
+                                            <Binding Path="SchemeName"  ></Binding>
+                                            <Binding Path="DeviceKindName"></Binding>
+                                        </MultiBinding>
+                                    </Button.CommandParameter>
+                                    <StackPanel Orientation="Horizontal">
                                             <TextBlock  Text="编辑" VerticalAlignment="Center" Foreground="Blue"/>
                                         </StackPanel>
                                     </Button>

+ 1 - 1
BlankApp1/BlankApp1/Views/BusinessManageView/TestResultDetailView.xaml

@@ -22,7 +22,7 @@
     <Grid>
 
         <Grid.ColumnDefinitions>
-            <ColumnDefinition Width="90"/>
+            <ColumnDefinition Width="auto"/>
             <ColumnDefinition/>
         </Grid.ColumnDefinitions>
         <DockPanel Grid.Column="0" LastChildFill="True">