private void MappingFill() { MetaDataPlus.Import.Rule mapping = this.ClassRule; foreach (DataGridItem item in grdFields.Items) { DropDownList ddl = (DropDownList)item.FindControl("ddlFields"); TextBox tbCustomValue = (TextBox)item.FindControl("tbCustomValue"); DropDownList ddlValues = (DropDownList)item.FindControl("ddlValues"); string sKey = item.Cells[3].Text; bool IsConstant = bool.Parse(item.Cells[7].Text); bool useDictionaryControl = GetUseDictionaryFlag(item); MetaDataPlus.Import.RuleItem ruleItem = (MetaDataPlus.Import.RuleItem)mapping[sKey]; if (IsConstant) { if (mapping.Attribute[sKey] != null) { mapping.Attribute[sKey] = ddl.SelectedValue; } else { mapping.Attribute.Add(sKey, ddl.SelectedValue); } } else { switch (ddl.SelectedValue) { case "CustomValue": mapping[sKey].FillType = MetaDataPlus.Import.FillType.Custom; if (useDictionaryControl) { ruleItem.CustomValue = ddlValues.SelectedValue; } else { ruleItem.CustomValue = tbCustomValue.Text; } ruleItem.SrcColumnName = ""; break; case "NotSet": ruleItem.FillType = MetaDataPlus.Import.FillType.NotUse; ruleItem.SrcColumnName = ""; ruleItem.CustomValue = ""; break; case "": ruleItem.FillType = MetaDataPlus.Import.FillType.Default; ruleItem.SrcColumnName = ""; ruleItem.CustomValue = ""; break; default: ruleItem.FillType = MetaDataPlus.Import.FillType.CopyValue; ruleItem.SrcColumnName = ddl.SelectedValue; ruleItem.SrcColumnType = typeof(string); ruleItem.CustomValue = ""; break; } } } this.ClassRule = mapping; }
private void RestoreValues(MetaDataPlus.Import.Rule mapping) { foreach (DataGridItem item in grdFields.Items) { DropDownList ddl = (DropDownList)item.FindControl("ddlFields"); TextBox tbCustomValue = (TextBox)item.FindControl("tbCustomValue"); DropDownList ddlValues = (DropDownList)item.FindControl("ddlValues"); string sKey = item.Cells[3].Text; //string sType = item.Cells[4].Text; //bool sIsSystemDictionary = bool.Parse(item.Cells[5].Text); bool IsConstant = bool.Parse(item.Cells[7].Text); bool useDictionaryControl = GetUseDictionaryFlag(item); if (IsConstant) { if (mapping.Attribute[sKey] != null) { string val = mapping.Attribute[sKey]; for (int i = 0; i < ddl.Items.Count; i++) { if (ddl.Items[i].Value == val) { ddl.SelectedIndex = i; break; } } } continue; } if (mapping[sKey] != null) { MetaDataPlus.Import.RuleItem ruleItem = (MetaDataPlus.Import.RuleItem)mapping[sKey]; if (ruleItem.SrcColumnName != "") { for (int i = 0; i < ddl.Items.Count; i++) { if (ddl.Items[i].Value == ruleItem.SrcColumnName) { ddl.SelectedIndex = i; break; } } } else { if (ruleItem.CustomValue != "") { if (useDictionaryControl) { for (int i = 0; i < ddl.Items.Count; i++) { if (ddl.Items[i].Value == "CustomValue") { ddl.SelectedIndex = i; break; } } if (ddl.SelectedIndex > 0) { ddlValues.Style.Add("display", "block"); for (int i = 0; i < ddlValues.Items.Count; i++) { if (ddlValues.Items[i].Value == ruleItem.CustomValue) { ddlValues.SelectedIndex = i; break; } } } } else { for (int i = 0; i < ddl.Items.Count; i++) { if (ddl.Items[i].Value == "CustomValue") { ddl.SelectedIndex = i; tbCustomValue.Style.Add("display", "block"); tbCustomValue.Text = ruleItem.CustomValue; break; } } } } } } } }