private void saveM11()
        {
            // DomainMap
            System.Xml.XmlNodeList nodes = getFieldNodes(this.FieldGrid.SelectedIndex + 1);
            if (nodes != null)
            {
                DataGrid grid = this.Method11Grid as DataGrid;
                if (grid == null)
                {
                    return;
                }
                try
                {
                    string method = getMethodVal();
                    nodes[0].SelectSingleNode("Method").InnerText = method;
                    trimNodes(nodes, 3);
                    System.Xml.XmlNode noder = nodes[0].SelectSingleNode(method);
                    if (noder == null)
                    {
                        noder = _xml.CreateElement(method);
                        nodes[0].AppendChild(noder);
                    }
                    noder.RemoveAll();
                    for (int s = 0; s < grid.Items.Count; s++)
                    {
                        object       values = grid.Items[s];
                        DomainMapRow row    = grid.Items.GetItemAt(s) as DomainMapRow;
                        if (row != null)
                        {
                            System.Xml.XmlNode snode = _xml.CreateElement("sValue");
                            if (row.SourceSelectedItem > -1) // there may not be a selection
                            {
                                snode.InnerText = row.Source[row.SourceSelectedItem].Id;
                                noder.AppendChild(snode);
                                snode           = _xml.CreateElement("sLabel");
                                snode.InnerText = row.Source[row.SourceSelectedItem].Tooltip;
                                noder.AppendChild(snode);
                            }
                            else
                            {
                                snode.InnerText = _noneField;
                                noder.AppendChild(snode);
                                snode           = _xml.CreateElement("sLabel");
                                snode.InnerText = _noneField;
                                noder.AppendChild(snode);
                            }
                            System.Xml.XmlNode tnode = _xml.CreateElement("tValue");
                            tnode.InnerText = row.Target[row.TargetSelectedItem].Id;
                            noder.AppendChild(tnode);

                            tnode           = _xml.CreateElement("tLabel");
                            tnode.InnerText = row.Target[row.TargetSelectedItem].Tooltip;
                            noder.AppendChild(tnode);
                        }
                    }
                    saveFieldGrid();
                }
                catch { }
            }
        }
        private void Method11Target_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            ComboBox cb = sender as ComboBox;

            if (cb != null)
            {
                if (cb.SelectedIndex == -1)
                {
                    return;
                }
                else
                {
                    DataGrid grid = this.Method11Grid as DataGrid;
                    if (grid == null || grid.SelectedIndex == -1)
                    {
                        return;
                    }

                    //object values = grid.Items[grid.SelectedIndex];
                    DomainMapRow row       = grid.Items.GetItemAt(grid.SelectedIndex) as DomainMapRow;
                    ComboData    rowSource = _domainTargetValues[cb.SelectedIndex] as ComboData;
                    if (row != null) // if there is a matching target domain value for the selection
                    {
                        // Then update the row DomainMapValues and set the tooltip to the value for the code
                        row.TargetSelectedItem = cb.SelectedIndex;
                        row.TargetTooltip      = rowSource.Tooltip;
                        cb.ToolTip             = rowSource.Tooltip;
                    }
                }
            }
        }
Example #3
0
        private void setPreviewDomainMapRows(string attrName)
        {
            DataGrid grid = PreviewGrid;

            grid.Items.Clear();
            string targName = getTargetFieldName();

            if (_datarows != null)
            {
                for (int i = 0; i < _datarows.Count; i++)
                {
                    string textval = "";
                    try
                    {
                        if (attrName == null)
                        {
                            textval = targName + "=None";
                        }
                        else
                        {
                            System.Xml.XmlAttribute att = _datarows[i].Attributes[attrName]; // the data rows from source dataset
                            if (att != null)
                            {
                                try
                                {
                                    textval = att.InnerText.ToString();
                                    for (int r = 0; r < Method11Grid.Items.Count; r++)
                                    {
                                        // domain map replace function
                                        // match source code to target code
                                        DomainMapRow row = Method11Grid.Items.GetItemAt(r) as DomainMapRow;
                                        decimal      numSource, numTarget;
                                        bool         canConvert1 = decimal.TryParse(att.InnerText, out numSource);
                                        bool         canConvert2 = decimal.TryParse(row.Source[row.SourceSelectedItem].Id, out numTarget);
                                        if ((canConvert1 && canConvert2) && numSource.Equals(numTarget))
                                        {
                                            textval = row.Target[row.TargetSelectedItem].Id;//textval.Replace(row.Source[row.SourceSelectedItem].Id, row.Target[row.TargetSelectedItem].Id);
                                        }
                                        else if (att.InnerText == row.Source[row.SourceSelectedItem].Id)
                                        {
                                            textval = row.Target[row.TargetSelectedItem].Id;//textval.Replace(row.Source[row.SourceSelectedItem].Id, row.Target[row.TargetSelectedItem].Id);
                                        }
                                    }
                                    textval = targName + "=" + textval;
                                }
                                catch { textval = targName + "=" + "None"; }
                            }
                        }
                    }
                    catch { textval = targName + "=" + "None"; }
                    grid.Items.Add(new PreviewRow()
                    {
                        Value = textval
                    });
                }
            }
        }