如何在DataGrid里面加入单选按钮,实现单选和多选?那位高手能提供代码?要ASP.NET的,不胜感激!
解决方案 »
- 关于asp.net 页面中划分区域的问题
- access库如何使用ObjectDataSource分页 ??
- 100分,问一个有意思的问题:利用程序生成网页缩略图
- 一个datagrid的问题 在线等,分虽然少点,但一定给
- ****GridView动态生成课程表****看到的都进来顶一下啊!!小弟谢谢了~~~``
- 让一个图片成为链接的例子哪里有?
- ie web controls的问题,大哥大姐救我
- DataGrid 中Text输入框ENTER回车问题请教.
- 如何实现treeview节点点击链接到其它页面
- winform界面假死
- 如何计算一段字符串的长度?要求一个中文算两个字符的长度
- 高手帮忙!如何将多个表查询出来的信息,综合显示出来??
不太明白,既然是单选按钮,又能实现多选~~?
下面是搜出来的,但是讲得不好
http://www.baidu.com/s?wd=%C0%FB%D3%C3radio%CA%B5%CF%D6Datagrid%B5%C4%B5%A5%D1%A1&cl=3
lovecherry老大都给出系列文章了,你仔细看看,基本都有源代码的
</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>
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); }
private void SaveUser(string strTemp)
{
string[] strApp = strTemp.Split(',');
foreach (string struser in strApp)
{
if (struser != "")
{
//****调用外部接口,保存被选种的数据
}
}
}