コード例 #1
0
        void GenerateDataGridColumns(Type type)
        {
            var list = PropertyNameValuePair.TypeToList(type);

            foreach (var p in list)
            {
                var pinfo = p.Value as PropertyInfo;
                if (pinfo.Name == "GoodsId")
                {
                    continue;
                }
                if (pinfo.Name == "AddressCode")
                {
                    var datagridcolumn = new DataGridTemplateColumn();
                    datagridcolumn.Header       = p.Name;
                    datagridcolumn.CellTemplate = Application.Current.Resources["addressTemplate"] as DataTemplate;
                    goodsgrid.Columns.Add(datagridcolumn);
                    continue;
                }

                // general
                var textcolumn = new DataGridTextColumn();
                textcolumn.Header = p.Name;
                var binding = new Binding(pinfo.Name);

                if (pinfo.PropertyType.IsEnum)
                {
                    binding.Converter = new EnumConverter();
                }
                textcolumn.Binding = binding;

                goodsgrid.Columns.Add(textcolumn);
            }
        }
コード例 #2
0
        void Initialize(Type datatype)
        {
            var logiclist = EnumNameValuePair.EnumToList(typeof(Logical));

            logic_cb.ItemsSource = logiclist;
            if (IsFirstRow)
            {
                logic_cb.IsEnabled = false;
            }
            else
            {
                logic_cb.IsEnabled     = true;
                logic_cb.SelectedIndex = 0;
            }

            var proplist = PropertyNameValuePair.TypeToList(datatype);

            if (DetermineFieldCallback != null)
            {
                proplist = DetermineFieldCallback(datatype, proplist);
            }
            field_cb.ItemsSource   = proplist;
            field_cb.SelectedIndex = 0;
        }