复合控件选择类

复合控件:

  多选框:checkbox - CheckBoxList

    属性:RepeatLayout:Table  按表格排布   Flow流排布

       RepeatDirection:Vertical 垂直排布   Horizontal 水平排布

       RepeatColumns:每一行有几列  流式布局的时候使用

      单选

        Default.aspx

          

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:CheckBoxList ID="CheckBoxList1" runat="server"><%--里面的每一项都是一个ListItem --%>
            <asp:ListItem Value="N001">汉族</asp:ListItem>
            <asp:ListItem Value="N002">满族</asp:ListItem>
            <asp:ListItem Value="N003">藏族</asp:ListItem>
            <asp:ListItem Value="N004">彝族</asp:ListItem>
        </asp:CheckBoxList>

        <asp:Button ID="Button1" runat="server" Text="Button" />
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </div>
    </form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Button1.Click += Button1_Click;
    }

    private void Button1_Click(object sender, EventArgs e)
    {
        if(CheckBoxList1.SelectedItem!=null)//2、选中的SelectedItem不等于空的时候才执行
        {
            Label1.Text = CheckBoxList1.SelectedItem.Value;//1、获取复选框选中的Vlue也可以选中的Text。如果什么也没选中获取的话会报错所以执行2
        }

    }
}

      多选  默认选中项

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Button1.Click += Button1_Click;
        if (! IsPostBack)//8、只有页面第一次加载才回走里面的代码。事件的委托要放在外面
        {
        List<Users> ulist = new UsersData().SelectAll();//1、将数据的内容返回个ulist
        foreach (Users u in ulist)//2、循环遍历ulist
        {
            ListItem li = new ListItem(u.NickName, u.UserName);//括号里的第一个值为Text,第二个值为Valus
                if (u.UserName == "2589")//9、默认选中项
                {
                    li.Selected = true;
                }
                CheckBoxList1.Items.Add(li);
        }
        }
    }

    private void Button1_Click(object sender, EventArgs e)
    {
              //7、获取的话会在重新加载下数据库的内容所以执行8
        if (CheckBoxList1.SelectedItem != null)//3、选中的SelectedItem不等于空的时候才执行如果等于空的时候回报错
        {
            string s = "";

            foreach (ListItem li in CheckBoxList1.Items)  //4、循环遍历一下CheckBoxList1里的集合所以用Items类型ListItem
            {
                if (li.Selected)//5、获取选中的值
                {
                    s += li.Text + ",";//6将选中的项的Tect给上面的s
                }
            }

        }
    }
}

多选无默认值

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Button1.Click += Button1_Click;
        if (!IsPostBack)//8、只有页面第一次加载才回走里面的代码。事件的委托要放在外面
        {
            List<Users> ulist = new UsersData().SelectAll();//1、将数据的内容返回个ulist
            CheckBoxList1.DataSource = ulist;//2、ulist置顶到CheckBoxList1
            CheckBoxList1.DataTextField = "NickName";//显示数据库里NickName列显示相当于Text
            CheckBoxList1.DataValueField = "Ucode";//隐藏数据库里的Ucode列隐藏相当于Value
            CheckBoxList1.DataBind();//CheckBoxList1绑定数据路
        }
    }

    private void Button1_Click(object sender, EventArgs e)
    {        //7、获取的话会在重新加载下数据库的内容所以执行8
        if (CheckBoxList1.SelectedItem != null)//3、选中的SelectedItem不等于空的时候才执行如果等于空的时候回报错
        {
            string s = "";

            foreach (ListItem li in CheckBoxList1.Items)  //4、循环遍历一下CheckBoxList1里的集合所以用Items类型ListItem
            {
                if (li.Selected)//5、获取选中的值
                {
                    s += li.Text + ",";//6将选中的项的Tect给上面的s
                }
            }

        }
    }
}

  

单选框

radio - RadioButtonList

取值和复制和上面一样

设置默认选中项:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            RadioButtonList1.DataSource = new UsersData().SelectAll();
            RadioButtonList1.DataTextField = "NickName";
            RadioButtonList1.DataValueField = "Ucode";
            RadioButtonList1.DataBind();
            RadioButtonList1.SelectedIndex = 0;//默认选中索引为0的项
        }
    }
}

下拉菜单

select - DropDownList

单选

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default3 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        if (!IsPostBack)
        {
            DropDownList1.Items.Add(new ListItem("===请选择===","-1"));//在网页中不显示,下面自带清空,显示的话属性AppendDataBoundItems="True"显示
            DropDownList1.DataSource = new UsersData().SelectAll();
            DropDownList1.DataTextField = "NickName";
            DropDownList1.DataValueField = "Ucode";
            DropDownList1.DataBind();
        }
    }
}

多选

**AutoPostBack  相当于点击事件

时间: 2024-10-24 13:44:37

复合控件选择类的相关文章

选择类排序总结

选择类排序总结 所谓选择类排序的思想就是:从数组的中选出最大或最小的,通过多次选择最后达到排序的目的 首先是简单选择排序 思想:每趟扫描中,选出最小的数字放在最前面,然后从第二个数字开始扫描,直到只剩下最后一个数不需要扫描 void EasySelect_Sort(int a[],int n) { int k; for(int i=1;i<n;i++) { k=i-1; for(int j=i;j<n;j++) { if(a[j]<a[k]) { k=j; } } if(k!=(i-1)

详谈排序算法之选择类排序(两种方法实现堆排序)

   今天我们再来讨论一下选择类排序,选择类排序分为:简单排序,树形选择排序和堆排序.但我们主要说的是简单和堆排序两个,因为树形选择排序使用了较多的辅助空间,以及和∞进行多余比较,为弥补树型选择排序的这些缺点, J.W.J.Williams 在 1964 年提出了进一步的改进方法,即堆排序.对于我个人而言..一开始并不是很理解它的算法思想,纠结了许久.在网上查找资料的时候发现这位大神的文章思路十分清晰,而且把创建堆以及堆化数组的算法讲解的十分详细.如果有不明白堆排序思路的,可以先看看这篇文章~堆

C#控件系列--选择类控件

C#控件系列--选择类控件 选择类控件主要包括:ComboBox.CheckBox.CheckedListBox.RadioButton.NumericUpDown以及ListBox. ComboBox 功能 ComboBox控件用于在下拉组合框中显示数据,它结合了TextBox控件和ListBox控件的功能. 属性

背水一战 Windows 10 (32) - 控件(选择类): Selector, ComboBox

原文:背水一战 Windows 10 (32) - 控件(选择类): Selector, ComboBox [源码下载] 作者:webabcd 介绍背水一战 Windows 10 之 控件(选择类) Selector ComboBox 示例1.Selector(基类) 的示例Controls/SelectionControl/SelectorDemo.xaml <Page x:Class="Windows10.Controls.SelectionControl.SelectorDemo&q

背水一战 Windows 10 (33) - 控件(选择类): ListBox, RadioButton, CheckBox, ToggleSwitch

原文:背水一战 Windows 10 (33) - 控件(选择类): ListBox, RadioButton, CheckBox, ToggleSwitch [源码下载] 作者:webabcd 介绍背水一战 Windows 10 之 控件(选择类) ListBox RadioButton CheckBox ToggleSwitch 示例1.ListBox 的示例Controls/SelectionControl/ListBoxDemo.xaml <Page x:Class="Window

选择类排序

#include<stdio.h> /* *选择类排序,每天一道算法题 *按照从小到大的顺序进行排序 * */ //遍历序列 void traverseArray(int *p,int length) { int i=0; for(;i<length;i++) { printf("%d\n",p[i]); } } //简单选择类排序 void selectSort(int *p,int length) { int i,j,temp,index; for(i=0;i&l

选择类排序:选择排序,堆排序

选择类排序:1:简单选择排序O(n^2),空间O(1) 2:堆排序O(n乘以log以2为底,n的对数),空间复杂度O(1) //选择排序 void SelectSort(int R[],int n) { int i,j,k; int tmp; for(i=0;i<n-1;i++) { k=i; for(j=i+1;j<n;j++) { if(R[j]<R[k]) k=j; } if(k!=i) { tmp=R[i]; R[i]=R[k]; R[k]=tmp; } } } //堆排序 vo

复合控件:选择类

复合控件: 多选框:checkbox - CheckBoxList 属性:RepeatLayout:Table  按表格排布   Flow流排布 RepeatDirection:Vertical 垂直排布   Horizontal 水平排布 RepeatColumns:每一行有几列  流式布局的时候使用 单选 Default.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="De

Swift 2.0学习笔记(Day 30)——选择类还是结构体呢?

原创文章,欢迎转载.转载请注明:关东升的博客 类和结构体非常相似,很多情况下没有区别.如果你是设计人员在进行系统设计时候,是将某种类型设计成为类还是结构体? 类和结构体异同: 类和结构体都有如下功能: 定义存储属性 定义方法 定义下标 定义构造函数 定义扩展 实现协议 只有类才有的功能: 能够继承另外一个类 能够核对运行期对象的类型 析构对象释放资源 引用计数允许一个实例有多个引用 选择的原则: 结构体是值类型,每一个实例没有独一无二的标识,下面两个数组实例本质上没有区别,他们可以互相替换. v