public ReportItemDictionary <QVField> GetCurrentSelection() { ReportItemDictionary <QVField> qc = new ReportItemDictionary <QVField>(); var selections = this._doc.GetCurrentSelections(); for (int i = 0; i < selections.Selections.Length; i++) { string fieldName = selections.VarId[i]; var field = this._doc.Fields(fieldName); QlikView.Common.QVField qvField = new QlikView.Common.QVField(); qvField.Name = field.Name(); var values = field.GetSelectedValues(); for (int j = 0; j < values.Count; j++) { qvField.Values.Add(new QlikView.Common.FieldValue() { Value = values[j].Text, IsNumeric = values[j].IsNumeric, Number = values[j].Number }); } qc.Add(qvField.Name, qvField); } return(qc); }
protected override Filter CreateItemFromXmlNode(System.Xml.XmlNode xmlNode) { Filter filter = new Filter(); filter.Name = xmlNode.GetAttributeValueIf("Name"); filter.Description = xmlNode.GetAttributeValueIf("Description"); string connection = xmlNode.GetNodeValueIf("Connection"); if (ReportConfig.ConnectionManager.ItemCollection.ContainsKey(connection)) { filter.Connection = ReportConfig.ConnectionManager.ItemCollection[connection]; } XmlNodeList list = xmlNode.SelectNodes("Fields/Field"); for (int i = 0; i < list.Count; i++) { QVField field = new QVField(); field.Name = list[i].GetAttributeValueIf("Name"); field.Expression = list[i].GetAttributeValueIf("Expression"); XmlNodeList valueList = list[i].SelectNodes("Value"); for (int j = 0; j < valueList.Count; j++) { FieldValue value = new FieldValue(); value.Value = valueList[j].GetNodeValueIf(); value.Number = double.Parse(valueList[j].GetAttributeValueIf("Number")); value.IsNumeric = bool.Parse(valueList[j].GetAttributeValueIf("IsNumeric")); field.Values.Add(value); } filter.Fields.Add(field.Name, field); } list = xmlNode.SelectNodes("Variables/Variable"); for (int i = 0; i < list.Count; i++) { QvVariable variable = new QvVariable(); variable.Name = list[i].GetAttributeValueIf("Name"); variable.Expression = list[i].GetAttributeValueIf("Expression"); variable.Value = list[i].GetNodeValueIf(); filter.Variables.Add(variable.Name, variable); } return(filter); }
public QlikView.Common.QVField GetQVFieldByName(string name) { QlikView.Common.QVField qvField = new QlikView.Common.QVField(); qvField.Name = name; var field = this._doc.Fields(name); var values = field.GetPossibleValues(2000); for (int i = 0; i < values.Count; i++) { qvField.Values.Add(new QlikView.Common.FieldValue() { Value = values[i].Text, IsNumeric = values[i].IsNumeric, Number = values[i].Number }); } return(qvField); }
private void btnAdd_Click(object sender, EventArgs e) { QVField field = new QVField(); field.Name = this.comboBoxFields.SelectedValue.ToString(); if (string.IsNullOrWhiteSpace(this.txtExpression.Text)) { for (int i = 0; i < this.dataGridView1.SelectedRows.Count; i++) { FieldValue value = this.dataGridView1.SelectedRows[i].DataBoundItem as FieldValue; field.Values.Add(value); } } else { field.Expression = this.txtExpression.Text.Trim(); } if (this.FieldAdded != null) this.FieldAdded(field); this.Close(); }
private ObservableCollection<FieldValue> GetValuesFromExpression(QVField item) { ObservableCollection<FieldValue> values = new ObservableCollection<FieldValue>(); if (item.Name == "TheYear" || item.Name == "MonthOfYear" || item.Name == "DayOfMonth") { var valuelist = Functions.GetDateValueFromExpression(item.Expression); foreach (var value in valuelist) { values.Add(new FieldValue() { IsNumeric = true, Number = value, Value = value.ToString() }); } } else if (item.Name == "YearMonth" && item.Expression.Contains("CurrentFiscalYearMonthEx")) { values = Functions.GetValuesFromCurrentFiscalYearMonthEx(); } else if (item.Name == "YearMonth" && item.Expression.Contains("CurrentFiscalYearMonth")) { values = Functions.GetValuesFromCurrentFiscalYearMonth(); } else if (item.Name == "YearMonth" && item.Expression.Contains("LatestTwoFiscalYearMonth")) { values = Functions.GetValuesFromLatestTwoFiscalYearMonth(); } else if (item.Name == "YearMonth" && item.Expression.Contains("CurrentYearMonthNumeric")) { values = Functions.GetValuesFromCurrentYearMonthNumeric(); } else if (item.Name == "YearMonth" && item.Expression.Contains("CurrentYearMonth")) { values = Functions.GetValuesFromCurrentYearMonth(); } else if (item.Name == "FiscalYearName" && item.Expression == "CurrentFiscalYearName") { values = Functions.GetCurrentFiscalYearName(); } else if (item.Name == "FiscalYearName" && item.Expression == "PreviousFiscalYearName") { values = Functions.GetPreviousFiscalYearName(); } else if (item.Name == "UsageYearMonth" && item.Expression.Contains("LastMonthFiscalYearMonth")) { values = Functions.GetValuesFromLastMonthFiscalYearMonth(); var field = this.GetQVFieldByName(item.Name); foreach (var value in values) { value.IsNumeric = field.Values.First(x => x.Value == value.Value).IsNumeric; value.Number = field.Values.First(x => x.Value == value.Value).Number; } } else { var field = this.GetQVFieldByName(item.Name); List<ExpressionCondition> conditions = DateFunctions.CalculateExpression(item.Expression); foreach (var value in field.Values) { DateTime date = DateTime.Parse(value.Value).Date; bool isChecked = true; foreach (var condition in conditions) { if (!condition.IsChecked(date)) { isChecked = false; break; } } if (isChecked) values.Add(value); } } return values; }
public QlikView.Common.QVField GetQVFieldByName(string name) { QlikView.Common.QVField qvField = new QlikView.Common.QVField(); qvField.Name = name; var field = this._doc.Fields(name); var values = field.GetPossibleValues(2000); for (int i = 0; i < values.Count; i++) { qvField.Values.Add(new QlikView.Common.FieldValue() { Value = values[i].Text, IsNumeric = values[i].IsNumeric, Number = values[i].Number }); } return qvField; }
public ReportItemDictionary<QVField> GetCurrentSelection() { ReportItemDictionary<QVField> qc = new ReportItemDictionary<QVField>(); var selections = this._doc.GetCurrentSelections(); for (int i = 0; i < selections.Selections.Length; i++) { string fieldName = selections.VarId[i]; var field = this._doc.Fields(fieldName); QlikView.Common.QVField qvField = new QlikView.Common.QVField(); qvField.Name = field.Name(); var values = field.GetSelectedValues(); for (int j = 0; j < values.Count; j++) { qvField.Values.Add(new QlikView.Common.FieldValue() { Value = values[j].Text, IsNumeric = values[j].IsNumeric, Number = values[j].Number }); } qc.Add(qvField.Name, qvField); } return qc; }
protected void FieldDelete(QVField field) { if (field == null) { MessageBox.Show("Please select an field."); return; } if (MessageBox.Show("Do you want to delete the field " + field.Name, "Delete", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { Filter filter = this.ReportItem as Filter; filter.Fields.Remove(field.Name); } }
void selection_FieldAdded(QVField obj) { Filter filter = this.ReportItem as Filter; if (filter.Fields.ContainsKey(obj.Name)) { MessageBox.Show("The same name field exists, cannot add."); return; } filter.Fields.Add(obj.Name, obj); }