GVKun编程网logo

从sql数据源将dropdownlist与optGroup绑定(sql导入数据源)

25

本文的目的是介绍从sql数据源将dropdownlist与optGroup绑定的详细情况,特别关注sql导入数据源的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解从s

本文的目的是介绍从sql数据源将dropdownlist与optGroup绑定的详细情况,特别关注sql导入数据源的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解从sql数据源将dropdownlist与optGroup绑定的机会,同时也不会遗漏关于.net控件dropdownlist动态绑定数据具体过程分解、ASP.ENT中DropDownList绑定多个字段、asp.net mvc下拉框Html.DropDownList 和DropDownListFor的常用方法、asp.net – Gridview行编辑 – 动态绑定到DropDownList的知识。

本文目录一览:

从sql数据源将dropdownlist与optGroup绑定(sql导入数据源)

从sql数据源将dropdownlist与optGroup绑定(sql导入数据源)

我必须将Dropdownlist与应该按地区分组的coutry绑定,我从以下链接中找到了示例代码,

http://www.codeproject.com/KB/custom-
controls/DropDownListOptionGroup.aspx?msg=3984074#xx3984074xx

我想要的国家清单与此相同。但是问题是我想从sql结果中绑定dropdownlist。我已经尝试了以下方法,但是没有用,

ddlCountry.DataSource = CountryDtoCollection;ddlCountry.DataBind();ddlCountry.Attributes.Add("OptionGroup", "Region");

任何人都知道任何解决方案。

答案1

小编典典

您可以编写一个自定义服务器控件,并使用包含以 | 分隔的文本和区域的数据源 然后在使用时将其拆分。

[ToolboxData("<{0}:CustomDropDownList runat=server></{0}:CustomDropDownList>")]public class CustomDropDownList : DropDownList{    protected override void RenderContents(HtmlTextWriter writer)    {        if (this.Items.Count > 0)        {            bool selected = false;            bool optGroupStarted = false;            string lastOptionGroup = string.Empty;            for (int i = 0; i < this.Items.Count; i++)            {                ListItem item = this.Items[i];                if (item.Enabled)                {                    if (lastOptionGroup != item.Text.Split("|")[1])                    {                        if (optGroupStarted)                        {                            writer.WriteEndTag("optgroup");                        }                        lastOptionGroup = item.Text.Split("|")[1];                        writer.WriteBeginTag("optgroup");                        writer.WriteAttribute("label", lastOptionGroup);                        writer.Write(''>'');                        writer.WriteLine();                        optGroupStarted = true;                    }                    writer.WriteBeginTag("option");                    if (item.Selected)                    {                        if (selected)                        {                            this.VerifyMultiSelect();                        }                        selected = true;                        writer.WriteAttribute("selected", "selected");                    }                    writer.WriteAttribute("value", item.Value, true);                    if (item.Attributes.Count > 0)                    {                        item.Attributes.Render(writer);                    }                    if (this.Page != null)                    {                        this.Page.ClientScript.RegisterForEventValidation(this.UniqueID, item.Value);                    }                    writer.Write(''>'');                    HttpUtility.HtmlEncode(item.Text.Split("|")[0], writer);                    writer.WriteEndTag("option");                    writer.WriteLine();                }            }            if (optGroupStarted)            {                writer.WriteEndTag("optgroup");            }        }    }}

.net控件dropdownlist动态绑定数据具体过程分解

.net控件dropdownlist动态绑定数据具体过程分解

一、在页面初始化时候将集合绑定到DropDownList
复制代码 代码如下:

public void Page_Load(Object src.EventArgs e)
{
ArrayList arrValue = new ArrayList();
arrValue.add("kk");
arrValue.add("dd");
arrValue.add("aa");
arrValue.add("cc");
//将数组绑定到DropDownList控件的DataSource属性
ddl.DataSource = arrValue;
ddl.DataBind();
}

//实现
选项有:<asp:DropDownList id="ddl" runat="server"/>

二、在页面初始化的时候向DropDownList添加数据
复制代码 代码如下:

public void Page_Load(Object src.EventArgs e)
{
ddl.Items.Add(new ListItem("text","value");
ddl.Items.Add(new ListItem("text1","value1");
ddl.Items.Add(new ListItem("text2","value2");
}

//实现
选项有:<asp:DropDownList id="ddl" runat="server"/>

三、将DataReader读取的数据动态绑定到DropDownList
复制代码 代码如下:

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
string myconnstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath(".")+"..\\database\\db.mdb";
OleDbConnnection myconn=new OleDbConnnection(myconnstr);
string sqlstr="select * from test";
OleDbCommand myComm = new OleDbCommand(sqlstr,myconn);
myComm.Connection.Open();
OleDbDataReader dr=myComm.ExecuteReader();
while (dr.Read())
{
bj.Items.Add(new ListItem(dr["bjmc"].ToString(), dr["id"].ToString()));//增加Item

//或者这样也能绑定,
//DropDownList1.Items.Add( new ListItem( myReader[1].ToString(),myReader[0].ToString() ) );//增加Item
//都是要在知道Sql语句或者数据表结构的前提下才能这样绑定
}
dr.Close();
}
}

四、将DataSet读取的数据动态绑定到DropDownList
复制代码 代码如下:

SqlConnection sqlconn = new SqlConnection();
sqlconn.ConnectionString = "workstation id=localhost;packet size=4096;user
id=sa;data source=db1;persist security info=False;initial catalog=DB";
sqlconn.Open();
SqlDataAdapter sqldar = new SqlDataAdapter("select UserName from forums_Users",sqlconn);
sqldar.SelectCommand.CommandType = CommandType.Text;
DataSet Ds= new DataSet();
sqldar.Fill(Ds,"Users");
ddl.DataSource = Ds.Tables["Users"].DefaultView;
ddl.DataTextField="UsersName";
ddl.DataBind();
sqlconn.Close();

第一行是创建一个sql连接对象sqlconn;
第二行是给新建的sql连接对象sqlconn的连接字符串赋予正确的值;
第三行是让sql连接对象sqlconn打开,连接sql数据库;
第四行是创建一个sql适配器对象sqldar,并同时让其使用sqlconn对象执行一条sql查询语句;
第五行是设置sqldar对象的命令类型为文本型;
第六行是创建一个数据集对象Ds;
第七行是将sqldar执行的结果填充到Ds中,并将命名为Users;
第八行是将DropDownList的数据源设置为Ds的Users,并使用默认的查看模式;
第九行是设置DropDownList空间的显示项对应的字段名UsersName;
第十行是执行DropDownList的数据绑定方法;
第十一行是关闭sqlconn对象。

五、使用DataBinder.eval_r(Container.DataItem,"表字段")输出绑定数据
复制代码 代码如下:

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
string myconnstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath(".")+"..\\database\\db.mdb";
OleDbConnnection myconn=new OleDbConnnection(myconnstr);
string sqlstr="select * from test";
OleDbCommand myComm = new OleDbCommand(sqlstr,myconn);
myComm.Connection.Open();
OleDbDataReader dr=myComm.ExecuteReader();
ddl.DataSource = dr;
ddl.DataBind(); 绑定倒DD1中
}
}

在UI界面的DDL中直接调用,绑定的方法调用
复制代码 代码如下:

DataBinder.eval_r(Container.DataItem,"表字段")
您可能感兴趣的文章:
  • ASP.NET 2.0中的数据操作之八:使用两个DropDownList过滤的主/从报表
  • ASP.NET中DropDownList下拉框列表控件绑定数据的4种方法
  • C#使用DropDownList绑定添加新数据的方法汇总
  • DropDownList绑定数据表实现两级联动示例
  • Jquery加载时从后台读取数据绑定到dropdownList实例
  • DropDownList绑定选择数据报错提示异常解决方案
  • ASP.NET MVC DropDownList数据绑定及使用详解
  • DropDownList控件绑定数据源的三种方法

ASP.ENT中DropDownList绑定多个字段

ASP.ENT中DropDownList绑定多个字段

   if (!IsPostBack)
        {
            ddl1.DataSource = YearManage.findYear();
            List<Year> lst = (List<Year>)YearManage.findYear();
            var years = (from y in lst select new { y.Year_, binYear = y.Year_ + "--" + (Convert.ToDouble(y.Year_) + 1).ToString() }).ToList();
            ddl1.DataSource = years;
            ddl1.DataValueField = "Year_";
            ddl1.DataTextField = "binYear";
            ddl1.DataBind();
        }

asp.net mvc下拉框Html.DropDownList 和DropDownListFor的常用方法

asp.net mvc下拉框Html.DropDownList 和DropDownListFor的常用方法

一、非强类型:

Controller:
ViewData["AreId"] = from a in rp.GetArea()
                               select new SelectListItem {
                               Text=a.AreaName,
                               Value=a.AreaId.ToString()
                               };
View:
@Html.DropDownList("AreId")

还可以给其加上一个默认选项:@Html.DropDownList("AreId", "请选择");

二、强类型:

DropDownListFor常用的是两个参数的重载,第一参数是生成的select的名称,第二个参数是数据,用于将绑定数据源至DropDownListFor

Modle:

   public class SettingsViewModel
   {
       Repository rp =new Repository();
       public string ListName { get; set; } 
       public  IEnumerable<SelectListItem> GetSelectList()
       {
               var selectList = rp.GetArea().Select(a => new SelectListItem {
                               Text=a.AreaName,
                               Value=a.AreaId.ToString()
                               });
               return selectList;
           }
       }

Controller:
       public ActionResult Index()
       {
           return View(new SettingsViewModel());
       }

View:
@model Mvc3Applicationtest2.Models.SettingsViewModel
@Html.DropDownListFor(m=>m.ListName,Model.GetSelectList(),"请选择")

您可能感兴趣的文章:
  • ASP.NET MVC实现多选下拉框
  • 详解ASP.NET MVC 下拉框的传值的两种方式
  • ASP .NET 可编辑输入自动匹配的下拉框
  • 详解ASP.NET MVC之下拉框绑定四种方式
  • ASP.NET MVC下拉框联动实例解析
  • ASP.NET中DropDownList下拉框列表控件绑定数据的4种方法
  • ASP.NET实现级联下拉框效果实例讲解
  • ASP.NET多彩下拉框开发实例
  • asp.net中js+jquery添加下拉框值和后台获取示例
  • asp.net 实现下拉框只读功能
  • ASP.NET MVC下拉框中显示枚举项

asp.net – Gridview行编辑 – 动态绑定到DropDownList

asp.net – Gridview行编辑 – 动态绑定到DropDownList

我正在尝试获取一个ASP.NET 3.5 GridView在显示时显示选定的值作为字符串,并显示一个DropDownList,以允许我在编辑时从给定的选项列表中选择一个值。看起来很简单?

我的gridview看起来像这样(简化):

<asp:GridView ID="grvSecondaryLocations" runat="server" 
              DataKeyNames="ID" OnInit="grvSecondaryLocations_Init" 
              OnRowCommand="grvSecondaryLocations_RowCommand" 
              OnRowCancelingEdit="grvSecondaryLocations_RowCancelingEdit"
              OnRowDeleting="grvSecondaryLocations_RowDeleting"
              OnRowEditing="grvSecondaryLocations_RowEditing" 
              OnRowUpdating="grvSecondaryLocations_RowUpdating"  >
<Columns>
    <asp:TemplateField>
         <ItemTemplate>
              <asp:Label ID="lblPbxTypeCaption" runat="server" 
                                 Text='<%# Eval("PBXTypeCaptionValue") %>' />
         </ItemTemplate>
         <EditItemTemplate>
                      <asp:DropDownList ID="ddlPBXTypeNS" runat="server" 
                               Width="200px" 
                               DataTextField="CaptionValue" 
                               DataValueField="OID" />
         </EditItemTemplate>
    </asp:TemplateField>
</asp:GridView>

当不在编辑模式时,网格显示为OK – 所选PBX类型在asp:Label控件中显示其值。没有惊喜

在表单的OnLoad事件中,将DropDownList的值加载到名为_pbxTypes的本地成员中。我验证了这个 – 它的作品,价值在那里。

现在我的挑战是:当网格进入特定行的编辑模式时,我需要绑定存储在_pbxTypes中的PBX列表。

很简单,我想 – 只需在RowEditing事件中抓住下拉列表对象并附加列表:

protected void grvSecondaryLocations_RowEditing(object sender,GridViewEditEventArgs e)
{
    grvSecondaryLocations.EditIndex = e.NewEditIndex;

    GridViewRow editingRow = grvSecondaryLocations.Rows[e.NewEditIndex];

    DropDownList ddlPbx = (editingRow.FindControl("ddlPBXTypeNS") as DropDownList);
    if (ddlPbx != null)
    {
        ddlPbx.DataSource = _pbxTypes;
        ddlPbx.DataBind();
    }

    .... (more stuff)
}

麻烦是 – 我从来没有得到任何东西从FindControl调用 – 似乎ddlPBXTypeNS不存在(或不能找到)。

我还缺少什么?必须是非常愚蠢的东西….但到目前为止,我所有的谷歌搜索,阅读GridView控件,并询问好友没有帮助。

谁能找到缺少的链接?

总结

以上是小编为你收集整理的asp.net – Gridview行编辑 – 动态绑定到DropDownList全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

我们今天的关于从sql数据源将dropdownlist与optGroup绑定sql导入数据源的分享就到这里,谢谢您的阅读,如果想了解更多关于.net控件dropdownlist动态绑定数据具体过程分解、ASP.ENT中DropDownList绑定多个字段、asp.net mvc下拉框Html.DropDownList 和DropDownListFor的常用方法、asp.net – Gridview行编辑 – 动态绑定到DropDownList的相关信息,可以在本站进行搜索。

本文标签: