如何在DataGrid里面加入单选按钮,实现单选和多选?那位高手能提供代码?要ASP.NET的,不胜感激!

解决方案 »

  1.   

    如何在DataGrid里面加入单选按钮,实现单选和多选..
    不太明白,既然是单选按钮,又能实现多选~~?
      

  2.   

    就是实现单选也可以啊,我只要这个功能而已
    下面是搜出来的,但是讲得不好
    http://www.baidu.com/s?wd=%C0%FB%D3%C3radio%CA%B5%CF%D6Datagrid%B5%C4%B5%A5%D1%A1&cl=3
      

  3.   

    http://www.cnblogs.com/lovecherry/archive/2005/05/15/155835.html
    lovecherry老大都给出系列文章了,你仔细看看,基本都有源代码的
      

  4.   

    <asp:TemplateColumn > <ItemTemplate> <asp:RadioButton   GroupName="name1" Checked=<%# DataBinder.Eval(Container, "DataItem.Agent_Yes") %>  ID="rabAgent_Yes"  Runat=server >          </asp:RadioButton>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn > <ItemTemplate> <asp:RadioButton   GroupName="name1" Checked=<%# DataBinder.Eval(Container, "DataItem.Agent_No") %>  ID="rabAgent_No"  Runat=server >          </asp:RadioButton>
    </ItemTemplate>
    </asp:TemplateColumn>
      

  5.   

    不把RatioButton放在一个组里就可以了
      

  6.   

    //****在模版列里加一个就可以了三,跨页选种数据,代码如下,将选种的的值放到一个隐藏控件中,然后在后台取隐藏控件的值在做相应处理就可以了三.
    JS代码
       //****跨页选择代码
            function SelectValuePage(objvalue)
            {
               if(objvalue.checked==true)
               {
                   if(form1.txtselectvalue.value=="")
                   {
                      form1.txtselectvalue.value=objvalue.value;
                   }
                   else
                   {
                      form1.txtselectvalue.value+=","+objvalue.value;
                   }
                   
                   
               }
               else
               {  
                  form1.txtselectvalue.value=form1.txtselectvalue.value.replace(objvalue.value,"");
             
                  if(form1.txtselectvalue.value.indexOf(',')>0)
                  {  
                    form1.txtselectvalue.value=form1.txtselectvalue.value.replace(","+objvalue.value,"");
                  }
               
               }
               
               
            }
    //****HTML代码
       <asp:DataGrid ID="DGRid" runat="server" AutoGenerateColumns="False" CellPadding="4"
                                ForeColor="#333333" GridLines="None" OnItemCommand="DGRid_ItemCommand">
                                <Columns>
                                    <asp:TemplateColumn HeaderText="选择">
                                        <ItemTemplate>
                                            <input id="ckbSlect" onclick="SelectValuePage(this);" value='<%#DataBinder.Eval(Container.DataItem,"UserCode")%>' runat="server" type="checkbox" />
                                        </ItemTemplate>
                                    </asp:TemplateColumn>
                                    <asp:BoundColumn DataField="usercode" HeaderText="用户编号">
                                        <HeaderStyle Width="100px" />
                                    </asp:BoundColumn>
                                    <asp:BoundColumn DataField="username" HeaderText="用户姓名">
                                        <HeaderStyle Width="150px" />
                                    </asp:BoundColumn>
                                    <asp:TemplateColumn HeaderText="选择">
                                        <ItemTemplate>
                                            <input id="txtID" runat="server" type="hidden" value="1" />
                                            <asp:LinkButton ID="lkbSelect" runat="server" CommandName="Select">选择</asp:LinkButton>
                                        </ItemTemplate>
                                        <HeaderStyle Width="60" />
                                    </asp:TemplateColumn>
                                </Columns>
                                <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                                <EditItemStyle BackColor="#2461BF" />
                                <SelectedItemStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                                <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
                                <AlternatingItemStyle BackColor="White" />
                                <ItemStyle BackColor="#EFF3FB" />
                                <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                            </asp:DataGrid>//****后台代码,我数据是保存在缓存中,你可以重数据加载哈
     protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {            ltbList.Attributes.Add("ondblclick", "javascript:SelectValue();");
               
                panOne.Visible = false;            PageLoadData();
                AddDataBase();
            }
        }    //****构造一个表的结构
        private DataTable CreateTable()
        {
            DataTable dTable = new DataTable();        dTable.Columns.Add("usercode", typeof(string));
            dTable.Columns.Add("username", typeof(string));
            return dTable;
        }    //****邦定数据到缓存中
        private void PageLoadData()
        {
            DataTable dTable = new DataTable();        dTable = CreateTable();        //****你保存在缓存中的表名可以配置到web.config中
            dTable.TableName = "userinfo";        //****说明,表的结构你可以重数据库读取出来然后邦定到ViewState中
            DataBindDataGrid(ref DGRid, ref dTable);
        }    //****添加数据处理
        private void AddDataBase()
        {
            //****获取缓存数据
            DataTable dTable = (DataTable)ViewState["userinfo"];        for (int i = 0; i <= 5; i++)
            {
                DataRow dRow = dTable.NewRow();            dRow["usercode"] = "zxp" + i.ToString();
                dRow["username"] = "software" + i.ToString();            dTable.Rows.Add(dRow);
            }        //****重新邦定数据
            DataBindDataGrid(ref DGRid, ref dTable);        //****这里只给出的添加数据操作,你还可以根据你的需进行扩展,例如对数据进行修改,删除等操作
        }    protected void DGRid_ItemCommand(object source, DataGridCommandEventArgs e)
        {
            HtmlInputHidden txtID = (HtmlInputHidden)e.Item.FindControl("txtID");        switch (e.CommandName)
            { 
                case "Select":
                    usercode.Value = e.Item.Cells[1].Text;
                    username.Value = e.Item.Cells[2].Text;
                    panOne.Visible = true;
                      
                    break;
            }
        }    protected void butSave_ServerClick(object sender, EventArgs e)
        {
            DataTable dTable = (DataTable)ViewState["userinfo"];        DataRow dRow=dTable.NewRow();
            dRow["usercode"] = usercode.Value;
            dRow["username"] = username.Value;        dTable.Rows.Add(dRow);        //****重新邦定数据
            DataBindDataGrid(ref DGRid, ref dTable);    }
      

  7.   

    //****创建一个函数,保存被选择的用户
        private void SaveUser(string strTemp)
        {
            string[] strApp = strTemp.Split(',');
            foreach (string struser in strApp)
            {
                if (struser != "")
                { 
                    //****调用外部接口,保存被选种的数据
                }
            }
        }