private void CreateQueryField(TBlockFieldItem aFieldItem, String Range, InfoComboBox aComboBox, String TableName) { if (aFieldItem.QueryMode == null) return; WebNavigator navigator2 = FPage.FindControl("WebNavigator1") as WebNavigator; if (navigator2 != null) { if (aFieldItem.QueryMode.ToUpper() == "NORMAL" || aFieldItem.QueryMode.ToUpper() == "RANGE") { WebQueryField qField = new WebQueryField(); qField.FieldName = aFieldItem.DataField; qField.Caption = aFieldItem.Description; if (qField.Caption == "") qField.Caption = aFieldItem.DataField; if (aFieldItem.QueryMode.ToUpper() == "NORMAL") { if (aFieldItem.DataType == typeof(DateTime)) qField.Condition = "="; if (aFieldItem.DataType == typeof(int) || aFieldItem.DataType == typeof(float) || aFieldItem.DataType == typeof(double) || aFieldItem.DataType == typeof(Int16)) qField.Condition = "="; if (aFieldItem.DataType == typeof(String)) qField.Condition = "%"; } if (aFieldItem.QueryMode.ToUpper() == "RANGE") { if (Range == "") { qField.Condition = "<="; CreateQueryField(aFieldItem, ">=", aComboBox, TableName); } else { qField.Condition = Range; } navigator2.QueryMode = WebNavigator.QueryModeType.ClientQuery; } switch (aFieldItem.ControlType.ToUpper()) { case "TEXTBOX": qField.Mode = "TextBox"; break; case "COMBOBOX": qField.Mode = "ComboBox"; qField.RefVal = "wrv" + TableName + aFieldItem.DataField + "QF"; break; case "REFVALBOX": qField.Mode = "RefVal"; qField.RefVal = "wrv" + TableName + aFieldItem.DataField + "QF"; break; case "DATETIMEBOX": qField.Mode = "Calendar"; break; } navigator2.QueryFields.Add(qField); } IComponentChangeService FComponentChangeService = (IComponentChangeService)FDesignerHost.RootComponent.Site.GetService(typeof(IComponentChangeService)); NotifyRefresh(200); FComponentChangeService.OnComponentChanged(navigator2, null, "", "M"); } WebClientQuery WebClientQuery1 = (WebClientQuery)FPage.FindControl("WebClientQuery1"); if (WebClientQuery1 != null) { if (aFieldItem.QueryMode.ToUpper() == "NORMAL" || aFieldItem.QueryMode.ToUpper() == "RANGE") { WebQueryColumns qColumns = new WebQueryColumns(); qColumns.Column = aFieldItem.DataField; qColumns.Caption = aFieldItem.Description; if (qColumns.Caption == "") qColumns.Caption = aFieldItem.DataField; qColumns.Condition = "And"; if (aFieldItem.QueryMode.ToUpper() == "NORMAL") { if (aFieldItem.DataType == typeof(DateTime)) qColumns.Operator = "="; if (aFieldItem.DataType == typeof(int) || aFieldItem.DataType == typeof(float) || aFieldItem.DataType == typeof(double) || aFieldItem.DataType == typeof(Int16)) qColumns.Operator = "="; if (aFieldItem.DataType == typeof(String)) qColumns.Operator = "%"; } if (aFieldItem.QueryMode.ToUpper() == "RANGE") { qColumns.Condition = "And"; if (Range == "") { qColumns.Operator = "<="; CreateQueryField(aFieldItem, ">=", aComboBox, TableName); } else { qColumns.Operator = Range; } } switch (aFieldItem.ControlType.ToUpper()) { case "TEXTBOX": qColumns.ColumnType = "ClientQueryTextBoxColumn"; break; case "COMBOBOX": qColumns.ColumnType = "ClientQueryComboBoxColumn"; qColumns.WebRefVal = "wrv" + TableName + aFieldItem.DataField + "QF"; break; case "REFVALBOX": qColumns.ColumnType = "ClientQueryRefValColumn"; qColumns.WebRefVal = "wrv" + TableName + aFieldItem.DataField + "QF"; WebDataSource aWebDataSource = new WebDataSource(); InfoCommand aInfoCommand = new InfoCommand(FClientData.DatabaseType); aInfoCommand.Connection = WzdUtils.AllocateConnection(FClientData.DatabaseName, FClientData.DatabaseType, true); //aInfoCommand.Connection = FClientData.Owner.GlobalConnection; IDbDataAdapter DA = DBUtils.CreateDbDataAdapter(aInfoCommand); if (FSYS_REFVAL != null) FSYS_REFVAL.Dispose(); FSYS_REFVAL = new DataSet(); aInfoCommand.CommandText = String.Format("Select * from SYS_REFVAL where REFVAL_NO = '{0}'", aFieldItem.RefValNo); WzdUtils.FillDataAdapter(FClientData.DatabaseType, DA, FSYS_REFVAL, aFieldItem.RefValNo); WebRefVal aWebRefVal = new WebRefVal(); aWebRefVal.ID = qColumns.WebRefVal; aWebRefVal.DataTextField = FSYS_REFVAL.Tables[0].Rows[0]["DISPLAY_MEMBER"].ToString(); aWebRefVal.DataValueField = FSYS_REFVAL.Tables[0].Rows[0]["VALUE_MEMBER"].ToString(); aWebRefVal.DataSourceID = String.Format("wds{0}{1}", TableName, aFieldItem.DataField); aWebRefVal.Visible = false; FWebRefValListPage.Add(aWebRefVal); break; case "DATETIMEBOX": qColumns.ColumnType = "ClientQueryCalendarColumn"; break; case "CHECKBOX": qColumns.ColumnType = "ClientQueryCheckBoxColumn"; break; } WebClientQuery1.Columns.Add(qColumns); } IComponentChangeService FComponentChangeService = (IComponentChangeService)FDesignerHost.RootComponent.Site.GetService(typeof(IComponentChangeService)); NotifyRefresh(200); FComponentChangeService.OnComponentChanged(WebClientQuery1, null, "", "M"); } }
/// <summary> /// 加入查询 /// </summary> /// <param name="fieldItem">blockfielditem</param> /// <param name="queryFields">Navigator的查询集合</param> /// <param name="queryColumns">ClientQuery的查询集合</param> /// <param name="tableName">tablename</param> private void GenQuery(TBlockFieldItem fieldItem, WebQueryFiledsCollection queryFields, WebQueryColumnsCollection queryColumns , string tableName) { if (string.Compare(fieldItem.QueryMode, "normal", true) == 0 || string.Compare(fieldItem.QueryMode, "range", true) == 0) { if (queryFields != null) { WebQueryField field = new WebQueryField(); field.FieldName = fieldItem.DataField; field.Caption = string.IsNullOrEmpty(fieldItem.Description) ? fieldItem.DataField : fieldItem.Description; if (string.Compare(fieldItem.QueryMode, "normal", true) == 0) { field.Condition = (fieldItem.DataType == typeof(string)) ? "%" : "="; } else { WebQueryField fieldrev = new WebQueryField(); fieldrev.FieldName = field.FieldName; fieldrev.Caption = field.Caption; fieldrev.RefVal = field.RefVal; fieldrev.Condition = ">="; fieldrev.Mode = InitQueryField(fieldItem, fieldrev); queryFields.Add(fieldrev); field.Condition = "<="; } field.Mode = InitQueryField(fieldItem, field); queryFields.Add(field); } if (queryColumns != null) { WebQueryColumns column = new WebQueryColumns(); column.Column = fieldItem.DataField; column.Caption = string.IsNullOrEmpty(fieldItem.Description) ? fieldItem.DataField : fieldItem.Description; if (string.Compare(fieldItem.ControlType, "textbox", true) == 0) { column.ColumnType = "ClientQueryTextBoxColumn"; } else if (string.Compare(fieldItem.ControlType, "combobox", true) == 0) { column.ColumnType = "ClientQueryComboBoxColumn"; column.WebRefVal = string.Format("wrv{0}{1}QF", tableName, fieldItem.DataField); } else if (string.Compare(fieldItem.ControlType, "refvalbox", true) == 0) { if (fieldItem.RefValNo == String.Empty) column.ColumnType = "ClientQueryTextBoxColumn"; else { column.ColumnType = "ClientQueryRefValColumn"; column.WebRefVal = string.Format("wrv{0}{1}QF", tableName, fieldItem.DataField); } } else if (string.Compare(fieldItem.ControlType, "datetimebox", true) == 0) { column.ColumnType = "ClientQueryCalendarColumn"; } if (string.Compare(fieldItem.QueryMode, "normal", true) == 0) { column.Operator = (fieldItem.DataType == typeof(string)) ? "%" : "="; } else { WebQueryColumns columnrev = new WebQueryColumns(); columnrev.Column = column.Column; columnrev.Caption = column.Caption; columnrev.ColumnType = column.ColumnType; columnrev.WebRefVal = column.WebRefVal; columnrev.Operator = ">="; queryColumns.Add(columnrev); column.Operator = "<="; } queryColumns.Add(column); } } }
private String InitQueryField(TBlockFieldItem fieldItem, WebQueryField field) { String returnValue = ""; if (string.Compare(fieldItem.ControlType, "textbox", true) == 0) { returnValue = String.Format("<JQTools:JQQueryColumn Caption=\"{0}\" Condition=\"{1}\" Editor=\"text\" FieldName=\"{2}\" />", field.Caption, field.Condition, fieldItem.DataField); } else if (string.Compare(fieldItem.ControlType, "combobox", true) == 0) { returnValue = String.Format("<JQTools:JQQueryColumn Caption=\"{0}\" Condition=\"{1}\" Editor=\"infocombobox\" FieldName=\"{2}\" " + "EditorOptions=\"valueField:'{3}',textField:'{4}',remoteName:'{5}',tableName:'{6}' \"/>", field.Caption, field.Condition, fieldItem.DataField, fieldItem.ComboValueField, fieldItem.ComboTextField, fieldItem.ComboRemoteName, fieldItem.ComboEntityName); } else if (string.Compare(fieldItem.ControlType, "refvalbox", true) == 0) { String columns = "{field:'" + fieldItem.ComboValueField + "',title:'" + fieldItem.ComboValueFieldCaption + "',width:80,align:'left'}"; if (fieldItem.ComboValueField != fieldItem.ComboTextField) { columns += ",{field:'" + fieldItem.ComboTextField + "',title:'" + fieldItem.ComboTextFieldCaption + "',width:80,align:'left'}"; } returnValue = String.Format("<JQTools:JQQueryColumn Caption=\"{0}\" Condition=\"{1}\" Editor=\"inforefval\" FieldName=\"{2}\" " + "EditorOptions=\"title:'JQRefval',panelWidth:350,columnMatches:[],valueField:'{3}',textField:'{4}',remoteName:'{5}',tableName:'{6}',columns:[{7}]\"/>", field.Caption, field.Condition, fieldItem.DataField, fieldItem.ComboValueField, fieldItem.ComboTextField, fieldItem.ComboRemoteName, fieldItem.ComboEntityName, columns); } else if (string.Compare(fieldItem.ControlType, "datetimebox", true) == 0) { returnValue = String.Format("<JQTools:JQQueryColumn Caption=\"{0}\" Condition=\"{1}\" Editor=\"datebox\" FieldName=\"{2}\" />", field.Caption, field.Condition, fieldItem.DataField); } else if (string.Compare(fieldItem.ControlType, "combogrid", true) == 0) { String columns = "{field:'" + fieldItem.ComboValueField + "',title:'" + fieldItem.ComboValueFieldCaption + "',width:80,align:'left'}"; if (fieldItem.ComboValueField != fieldItem.ComboTextField) { columns += ",{field:'" + fieldItem.ComboTextField + "',title:'" + fieldItem.ComboTextFieldCaption + "',width:80,align:'left'}"; } returnValue = String.Format("<JQTools:JQQueryColumn Caption=\"{0}\" Condition=\"{1}\" Editor=\"infocombogrid\" FieldName=\"{2}\" " + "EditorOptions=\"panelWidth:350,columnMatches:[],valueField:'{3}',textField:'{4}',remoteName:'{5}',tableName:'{6}',columns:[{7}]\"/>", field.Caption, field.Condition, fieldItem.DataField, fieldItem.ComboValueField, fieldItem.ComboTextField, fieldItem.ComboRemoteName, fieldItem.ComboEntityName, columns); } else if (string.Compare(fieldItem.ControlType, "numberbox", true) == 0) { returnValue = String.Format("<JQTools:JQQueryColumn Caption=\"{0}\" Condition=\"{1}\" Editor=\"numberbox\" FieldName=\"{2}\" />", field.Caption, field.Condition, fieldItem.DataField); } return returnValue; }
private String InitQueryField(TBlockFieldItem fieldItem, WebQueryField field) { String returnValue = ""; if (string.Compare(fieldItem.ControlType, "combobox", true) == 0) { returnValue = String.Format("<JQMobileTools:JQQueryColumn Caption=\"{0}\" Condition=\"{1}\" Editor=\"selects\" FieldName=\"{2}\" " + "EditorOptions=\"{{DialogTitle:'Select Item',DialogWidth:250,PageSize:20,ColumnMatches:[],ValueMember:'{3}',DisplayMember:'{4}',RemoteName:'{5}',TableName:'{6}'}}\"/>", field.Caption, field.Condition, fieldItem.DataField, fieldItem.ComboValueField, fieldItem.ComboTextField, fieldItem.ComboRemoteName, fieldItem.ComboEntityName); } else if (string.Compare(fieldItem.ControlType, "refvalbox", true) == 0) { String columns = "{field:'" + fieldItem.ComboValueField + "',title:'" + fieldItem.ComboValueFieldCaption + "',width:80,align:'left'}"; if (fieldItem.ComboValueField != fieldItem.ComboTextField) { columns += ",{field:'" + fieldItem.ComboTextField + "',title:'" + fieldItem.ComboTextFieldCaption + "',width:80,align:'left'}"; } returnValue = String.Format("<JQMobileTools:JQQueryColumn Caption=\"{0}\" Condition=\"{1}\" Editor=\"refval\" FieldName=\"{2}\" " + "EditorOptions=\"{{DialogTitle:'Select Item',DialogWidth:250,PageSize:20,ColumnMatches:[],ValueMember:'{3}',DisplayMember:'{4}',RemoteName:'{5}',TableName:'{6}',Columns:[{7}]}}\"/>", field.Caption, field.Condition, fieldItem.DataField, fieldItem.ComboValueField, fieldItem.ComboTextField, fieldItem.ComboRemoteName, fieldItem.ComboEntityName, columns); } else if (string.Compare(fieldItem.ControlType, "datetimebox", true) == 0) { returnValue = String.Format("<JQMobileTools:JQQueryColumn Caption=\"{0}\" Condition=\"{1}\" Editor=\"date\" FieldName=\"{2}\" />", field.Caption, field.Condition, fieldItem.DataField); } else //(string.Compare(fieldItem.ControlType, "textbox", true) == 0) { returnValue = String.Format("<JQMobileTools:JQQueryColumn Caption=\"{0}\" Condition=\"{1}\" Editor=\"text\" FieldName=\"{2}\" />", field.Caption, field.Condition, fieldItem.DataField); } //else if (string.Compare(fieldItem.ControlType, "combogrid", true) == 0) //{ // String columns = "{field:'" + fieldItem.ComboValueField + "',title:'" + fieldItem.ComboValueFieldCaption + "',width:80,align:'left'}"; // if (fieldItem.ComboValueField != fieldItem.ComboTextField) // { // columns += ",{field:'" + fieldItem.ComboTextField + "',title:'" + fieldItem.ComboTextFieldCaption + "',width:80,align:'left'}"; // } // returnValue = String.Format("<JQMobileTools:JQQueryColumn Caption=\"{0}\" Condition=\"{1}\" Editor=\"infocombogrid\" FieldName=\"{2}\" " + // "EditorOptions=\"panelWidth:450,columnMatches:[],valueField:'{3}',textField:'{4}',remoteName:'{5}',tableName:'{6}',columns:[{7}]\"/>", // field.Caption, field.Condition, fieldItem.DataField, fieldItem.ComboValueField, fieldItem.ComboTextField, fieldItem.ComboRemoteName, fieldItem.ComboEntityName, columns); //} //else if (string.Compare(fieldItem.ControlType, "numberbox", true) == 0) //{ // returnValue = String.Format("<JQMobileTools:JQQueryColumn Caption=\"{0}\" Condition=\"{1}\" Editor=\"numberbox\" FieldName=\"{2}\" />", field.Caption, field.Condition, fieldItem.DataField); //} return returnValue; }