コード例 #1
0
        void ddlUsers_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                var selected = ddlUsers.SelectedValue;

                if (selected == "0")
                {
                    //get the whole list of organizations:
                    ddlOrganizations.DataSource     = OrgList;
                    ddlOrganizations.DataValueField = "OrgCode";
                    ddlOrganizations.DataTextField  = "OrganizationDesc";
                    ddlOrganizations.DataBind();
                }
                else
                {
                    //get organizations list according user's organization
                    //only in case if selected organization = "0"
                    //in other case we already have initiated list for organizations:

                    if (ddlOrganizations.SelectedValue == "0")
                    {
                        var userOrg = ((DataRow)UsersListTable.Select("UserID = " + selected)[0])["Organization"].ToString();

                        var col = new ListItemCollection();
                        var it  = new ListItem("", "0");
                        col.Add(it);

                        var orgsList = OrgList.Where(o => o.Organization == userOrg);
                        foreach (var org in orgsList)
                        {
                            it = new ListItem(org.OrganizationDesc, org.Organization);
                            col.Add(it);
                        }

                        ddlOrganizations.DataSource     = col;
                        ddlOrganizations.DataValueField = "Value";
                        ddlOrganizations.DataTextField  = "Text";
                        ddlOrganizations.DataBind();
                    }
                }
            }
            catch (Exception ex)
            {
                //erase event OnError:
                if (this.OnError != null)
                {
                    var arg = new OrgUsersErrEventArgs();
                    arg.ErrorMessage = ex.Message;
                    this.OnError(this, arg);
                }
            }
        }