protected void gvItemTypeFieldPreference_ItemDataBound(object sender, GridItemEventArgs e)
        {
            var dataItem = e.Item.DataItem;

            if (e.Item is GridDataItem)
            {
                foreach (ItemTypeData itemTypeData in ItemTypeDataList)
                {
                    var rowArray = ((global::System.Data.DataRowView)(dataItem)).Row.ItemArray;
                    ItemFieldTypeData itemFieldTypeData = (ItemFieldTypeData)(rowArray.Where(i => (i is ItemFieldTypeData) && ((ItemFieldTypeData)i).ItemTypeId == itemTypeData.Id).FirstOrDefault());
                    CheckBox          chk = e.Item.FindControl(itemTypeData.Id.ToString()) as CheckBox;
                    if (chk != null)
                    {
                        chk.Checked = itemFieldTypeData.IsSelected;
                        chk.Enabled = !itemFieldTypeData.IsSelected;
                        chk.Attributes.Add("data-fieldid", itemFieldTypeData.FieldId.ToString(CultureInfo.InvariantCulture));
                        chk.Attributes.Add("data-itemtypeid", itemFieldTypeData.ItemTypeId.ToString(CultureInfo.InvariantCulture));
                    }
                }
            }

            if (e.Item is GridGroupHeaderItem)
            {
                GridGroupHeaderItem item         = (GridGroupHeaderItem)e.Item;
                DataRowView         groupDataRow = (DataRowView)e.Item.DataItem;
                item.DataCell.Text = groupDataRow["GroupName"].ToString();
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Gets the item type fields preferences.
        /// </summary>
        /// <returns></returns>
        public DataTable GetItemTypeFieldsPreferences()
        {
            DataTable                 ItemTypeTable     = new DataTable();
            List <ItemTypeData>       allItemTypes      = GetAllItemTypeData();
            List <Data.ItemTypeField> allItemTypeFields = DataContext.ItemTypeFields.ToList();

            ItemTypeTable.Columns.Add(new DataColumn("Field", typeof(string)));
            ItemTypeTable.Columns.Add(new DataColumn("GroupId", typeof(string)));
            ItemTypeTable.Columns.Add(new DataColumn("GroupName", typeof(string)));
            ItemTypeTable.Columns.Add(new DataColumn("ProjectUsingField", typeof(string)));
            ItemTypeTable.Columns.Add(new DataColumn("ItemTypeUsingField", typeof(string)));
            foreach (ItemTypeData itemTypeData in allItemTypes)
            {
                ItemTypeTable.Columns.Add(new DataColumn(itemTypeData.Name, typeof(ItemFieldTypeData)));
            }

            List <FieldData> allFields = GetAllFieldData(allItemTypeFields);

            DataRow[] dataRows = new DataRow[allFields.Count];
            int       i        = 0;

            foreach (FieldData fieldData in allFields)
            {
                dataRows[i]                       = ItemTypeTable.NewRow();
                dataRows[i]["Field"]              = fieldData.FieldName;
                dataRows[i]["GroupId"]            = fieldData.GroupId;
                dataRows[i]["GroupName"]          = fieldData.GroupName;
                dataRows[i]["ProjectUsingField"]  = fieldData.ProjectUsingField;
                dataRows[i]["ItemTypeUsingField"] = fieldData.ItemTypeUsingField;
                foreach (ItemTypeData itemTypeData in allItemTypes)
                {
                    ItemFieldTypeData itemFieldTypeData = new ItemFieldTypeData();
                    itemFieldTypeData.ItemTypeId   = itemTypeData.Id;
                    itemFieldTypeData.FieldId      = fieldData.FieldId;
                    itemFieldTypeData.IsSelected   = allItemTypeFields.Where(itf => itf.ItemTypeId == itemTypeData.Id && itf.FieldId == fieldData.FieldId).FirstOrDefault() != null;
                    dataRows[i][itemTypeData.Name] = itemFieldTypeData;
                }
                ItemTypeTable.Rows.Add(dataRows[i]);
            }

            return(ItemTypeTable);
        }