/// <summary> /// sql语句执行函数:为ComboBox赋值 /// </summary> /// <param name="sql"></param> /// <param name="parameters"></param> /// <returns></returns> public static void CmbExecuteReader(string sql, ComboBox cmb, params SqlParameter[] parameters) { string connStr = ConfigurationManager.ConnectionStrings["教务系统.Properties.Settings.eisbookConnectionString"].ConnectionString; using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = sql; foreach (SqlParameter parameter in parameters) { cmd.Parameters.Add(parameter); } SqlDataReader reader = cmd.ExecuteReader(); cmb.Items.Clear(); while (reader.Read()) { //Item item = new Item(); //item.Id = reader[0].ToString(); //item.Name = reader[1].ToString(); CmbAttributes att = new CmbAttributes(); att.id = reader[0].ToString(); att.name = reader[1].ToString(); cmb.Items.Add(att); } cmb.DisplayMember = "name";//解决了之前不知道如何显示特定要求内容 return; } } }
public void RetrieveAttributes() { var entity = CmbEntities.SelectedItem as ObjectCollectionItem <EntityMetadata>; if (entity == null) { return; } WorkAsync(new WorkAsyncInfo("Retrieving Attributes...", e => { e.Result = Service.Execute(new RetrieveEntityRequest { LogicalName = entity.Value.LogicalName, EntityFilters = EntityFilters.Attributes, RetrieveAsIfPublished = true }); }) { PostWorkCallBack = e => { try { CmbAttributes.BeginUpdate(); CmbAttributes.Items.Clear(); CmbAttributes.Text = null; var result = ((RetrieveEntityResponse)e.Result).EntityMetadata.Attributes. Where(a => (SelectOptionSetsForEntity && (a.AttributeType == AttributeTypeCode.Picklist || a.AttributeType == AttributeTypeCode.State || a.AttributeType == AttributeTypeCode.Status)) || a.IsLocalOptionSetAttribute()). Select(a => new ObjectCollectionItem <AttributeMetadata>(a.SchemaName + " (" + a.LogicalName + ")", a)). OrderBy(r => r.DisplayName); CmbAttributes.Items.AddRange(result.Cast <object>().ToArray()); } finally { CmbAttributes.EndUpdate(); Enable(true); } } }); }