protected void dxcbocompany_ItemRequestedByValue(object source, ListEditItemRequestedByValueEventArgs e) { DevExpress.Web.ASPxEditors.ASPxComboBox _combo = (DevExpress.Web.ASPxEditors.ASPxComboBox)source; Int32 _id = 0; //if (Page.Session["user"] != null) //if publiship user allow filter to be used otherwise filter null //{ // Int32 _companyid = wwi_func.vint(((UserClass)Page.Session["user"]).CompanyId.ToString()); // if (_companyid == -1) // { if (e.Value != null) { _id = wwi_func.vint(e.Value.ToString()); } //use datareaders - much faster than loading into collections string[] _cols = { "CompanyID, CompanyName", "Address1", "Address2", "Address3", "CountryName", "TelNo", "Customer" }; //SubSonic.SqlQuery _query = DAL.Logistics.DB.Select(_cols).From(DAL.Logistics.Tables.NameAndAddressBook).WhereExpression("CompanyID").IsEqualTo(_id); SubSonic.SqlQuery _query = DAL.Logistics.DB.Select(_cols).From("view_delivery_address").WhereExpression("CompanyID").IsEqualTo(_id); IDataReader _rd = _query.ExecuteReader(); _combo.DataSource = _rd; _combo.ValueField = "CompanyID"; _combo.ValueType = typeof(int); _combo.TextField = "CompanyName"; _combo.DataBindItems(); // } //} }
//14/07/14 dxcboVesselID_ItemRequestedByValue and dxcboVesselID_ItemsRequestedByFilterCondition DEPRECATED //can't use OnItemsRequestedByFilterCondition and OnItemRequestedByValue on this combo as server-side filtring makes the search case sensitive //incremental filtering for large datasets on combos /// <summary> /// incremental filtering and partial loading of name and address book for speed /// both ItemsRequestedByFilterCondition and ItemRequestedByValue must be set up for this to work /// company name is only available to publiship users /// </summary> /// <param name="source"></param> /// <param name="e"></param> protected void dxcbocompany_ItemsRequestedByFilterCondition(object source, DevExpress.Web.ASPxEditors.ListEditItemsRequestedByFilterConditionEventArgs e) { DevExpress.Web.ASPxEditors.ASPxComboBox _combo = (DevExpress.Web.ASPxEditors.ASPxComboBox)source; //if (Page.Session["user"] != null) //if publiship user allow filter to be used otherwise filter null //{ // Int32 _companyid = wwi_func.vint(((UserClass)Page.Session["user"]).CompanyId.ToString()); // if (_companyid == -1) // { string _filter = !string.IsNullOrEmpty(e.Filter) ? e.Filter : ""; //use datareaders - much faster than loading into collections string[] _cols = { "CompanyID", "CompanyName", "Address1", "Address2", "Address3", "CountryName", "TelNo", "Customer" }; //SubSonic.SqlQuery _query = DAL.Logistics.DB.Select(_cols).From(DAL.Logistics.Tables.NameAndAddressBook).Paged(e.BeginIndex + 1, e.EndIndex + 1, "CompanyID").WhereExpression("CompanyName").Like(string.Format("%{0}%", e.Filter.ToString())); SubSonic.SqlQuery _query = DAL.Logistics.DB.Select(_cols).From("view_delivery_address").Paged(e.BeginIndex + 1, e.EndIndex + 1, "CompanyID").WhereExpression("CompanyName").Like(string.Format("{0}%", e.Filter.ToString())); IDataReader _rd = _query.ExecuteReader(); _combo.DataSource = _rd; _combo.ValueField = "CompanyID"; _combo.ValueType = typeof(int); _combo.TextField = "CompanyName"; _combo.DataBindItems(); // } //} }
protected void dxcbocompany_ItemRequestedByValue(object source, DevExpress.Web.ASPxEditors.ListEditItemRequestedByValueEventArgs e) { //check value of e //when itemrequestedby fucntionality is being used in the grid edit template this will not be set when a new record is initialised //and will display as a js error "obejct reference not set to an instance of an object". //You can verify this by setting the ASPxGridView.EnableCallBacks property to "false" //this will then display the server error page not the js error message if (e.Value != null) { DevExpress.Web.ASPxEditors.ASPxComboBox _combo = (DevExpress.Web.ASPxEditors.ASPxComboBox)source; Int32 _id = 0; //if (Page.Session["user"] != null) //if publiship user allow filter to be used otherwise filter null //{ // Int32 _companyid = wwi_func.vint(((UserClass)Page.Session["user"]).CompanyId.ToString()); // if (_companyid == -1) // { _id = wwi_func.vint(e.Value.ToString()); //use datareaders - much faster than loading into collections string[] _cols = { "CompanyID, CompanyName", "Address1", "Address2", "Address3", "CountryName", "TelNo", "Customer" }; //SubSonic.SqlQuery _query = DAL.Logistics.DB.Select(_cols).From(DAL.Logistics.Tables.NameAndAddressBook).WhereExpression("CompanyID").IsEqualTo(_id); SubSonic.SqlQuery _query = DAL.Logistics.DB.Select(_cols).From("view_delivery_address").WhereExpression("CompanyID").IsEqualTo(_id); IDataReader _rd = _query.ExecuteReader(); _combo.DataSource = _rd; _combo.ValueField = "CompanyID"; _combo.TextField = "CompanyName"; _combo.DataBindItems(); // } //} } }
//incremental filtering for large datasets on combos /// <summary> /// incremental filtering and partial loading of vessels for speed /// both ItemsRequestedByFilterCondition and ItemRequestedByValue must be set up for this to work /// </summary> /// <param name="source"></param> /// <param name="e"></param> protected void dxcboVesselID_ItemsRequestedByFilterCondition(object source, DevExpress.Web.ASPxEditors.ListEditItemsRequestedByFilterConditionEventArgs e) { DevExpress.Web.ASPxEditors.ASPxComboBox _combo = (DevExpress.Web.ASPxEditors.ASPxComboBox)source; string _filter = !string.IsNullOrEmpty(e.Filter) ? e.Filter : ""; //use datareaders - much faster than loading into collections string[] _cols = { "VoyageID", "Joined", "ETS", "ETA", "DestinationPortID", "OriginPortID" }; string[] _sort = { "Joined" }; //additional filters on this dll string _originportid = this.dxhfOrder.Contains("ptstart") ? this.dxhfOrder.Get("ptstart").ToString() : ""; string _destportid = this.dxhfOrder.Contains("ptend") ? this.dxhfOrder.Get("ptend").ToString() : ""; if (_originportid != "" && _destportid != "") { //SubSonic.SqlQuery _query = DAL.Logistics.DB.Select(_cols).From(DAL.Logistics.Tables.NameAndAddressBook).Paged(e.BeginIndex + 1, e.EndIndex + 1, "CompanyID").WhereExpression("CompanyName").Like(string.Format("%{0}%", e.Filter.ToString())); SubSonic.SqlQuery _query = DAL.Logistics.DB.Select(_cols).From("Page2VesselView").Paged(e.BeginIndex + 1, e.EndIndex + 1, "VoyageID").Where("Joined").Like(string.Format("{0}%", e.Filter.ToString())).And("DestinationPortID").IsEqualTo(_destportid).And("OriginPortID").IsEqualTo(_originportid).OrderAsc(_sort); string test = _query.ToString(); IDataReader _rd = _query.ExecuteReader(); _combo.DataSource = _rd; _combo.ValueField = "VoyageID"; _combo.TextField = "Joined"; _combo.DataBindItems(); } }
protected void dxcboCountry_ItemsRequestedByFilterCondition(object source, ListEditItemsRequestedByFilterConditionEventArgs e) { DevExpress.Web.ASPxEditors.ASPxComboBox _combo = (DevExpress.Web.ASPxEditors.ASPxComboBox)source; string _filter = !string.IsNullOrEmpty(e.Filter) ? e.Filter : ""; //use datareaders - much faster than loading into collections string[] _cols = { "CountryID, CountryName" }; string[] _order = { "CountryName" }; //SubSonic.SqlQuery _query = DAL.Logistics.DB.Select(_cols).From(DAL.Logistics.Tables.NameAndAddressBook).Paged(e.BeginIndex + 1, e.EndIndex + 1, "CompanyID").WhereExpression("CompanyName").Like(string.Format("%{0}%", e.Filter.ToString())); SubSonic.SqlQuery _query = DAL.Logistics.DB.Select(_cols).From(DAL.Logistics.Tables.CountryTable).Paged(e.BeginIndex + 1, e.EndIndex + 1).Where("CountryName").StartsWith(string.Format("{0}%", _filter)); IDataReader _rd = _query.ExecuteReader(); _combo.ValueField = "CountryID"; _combo.ValueType = typeof(int); _combo.TextField = "CountryName"; _combo.DataBindItems(); }
//14/07/14 dxcboVesselID_ItemRequestedByValue and dxcboVesselID_ItemsRequestedByFilterCondition DEPRECATED //can't use OnItemsRequestedByFilterCondition and OnItemRequestedByValue on this combo as server-side filtring makes the search case sensitive //incremental filtering for large datasets on combos /// <summary> /// incremental filtering and partial loading of name and address book for speed /// both ItemsRequestedByFilterCondition and ItemRequestedByValue must be set up for this to work /// company name is only available to publiship users /// </summary> /// <param name="source"></param> /// <param name="e"></param> protected void dxcboCountry_ItemRequestedByValue(object source, ListEditItemRequestedByValueEventArgs e) { DevExpress.Web.ASPxEditors.ASPxComboBox _combo = (DevExpress.Web.ASPxEditors.ASPxComboBox)source; Int32 _id = 0; if (e.Value != null) { _id = wwi_func.vint(e.Value.ToString()); } string[] _cols = { "CountryID, CountryName" }; string[] _order = { "CountryName" }; SubSonic.SqlQuery _query = DAL.Logistics.DB.Select(_cols).From(DAL.Logistics.Tables.CountryTable).WhereExpression("CountryID").IsEqualTo(_id); IDataReader _rd = _query.ExecuteReader(); _combo.ValueField = "CountryID"; _combo.ValueType = typeof(int); _combo.TextField = "CountryName"; _combo.DataBindItems(); }
//incremental filtering for large datasets on combos /// <summary> /// incremental filtering and partial loading of name and address book for speed /// both ItemsRequestedByFilterCondition and ItemRequestedByValue must be set up for this to work /// company name is only available to publiship users /// </summary> /// <param name="source"></param> /// <param name="e"></param> protected void dxcboVesselID_ItemRequestedByValue(object source, ListEditItemRequestedByValueEventArgs e) { DevExpress.Web.ASPxEditors.ASPxComboBox _combo = (DevExpress.Web.ASPxEditors.ASPxComboBox)source; Int32 _id = 0; if (e.Value != null) { _id = wwi_func.vint(e.Value.ToString()); } //use datareaders - much faster than loading into collections string[] _cols = { "VoyageID", "Joined", "ETS", "ETA", "DestinationPortID", "OriginPortID" }; //SubSonic.SqlQuery _query = DAL.Logistics.DB.Select(_cols).From(DAL.Logistics.Tables.NameAndAddressBook).WhereExpression("CompanyID").IsEqualTo(_id); SubSonic.SqlQuery _query = DAL.Logistics.DB.Select(_cols).From("Page2VesselView").WhereExpression("VoyageID").IsEqualTo(_id); IDataReader _rd = _query.ExecuteReader(); _combo.DataSource = _rd; _combo.ValueField = "VoyageID"; _combo.TextField = "Joined"; _combo.DataBindItems(); }