name要一样,ID值设置成不一样就可以了!
解决方案 »
- XML读写节点,并更换路径
- 提示“未将对象引用设置到对象的实例。”
- 关于datagrid页脚的问题
- 新手问个简单的DataTable问题~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Button的onmouseover事件,改变Button的字体颜色
- 怎样实现在table表中数据绑定,全编辑,排序,添加,删除,分页,根据数据类型实现数据显示时在表中对齐方式
- 关于DataBinder.Eval得null值问题
- datagrid修改在其他textbox或者dropdownlist的时候怎么让它不刷新页面啊!
- asp.net 中c#创建的 Process类无法强制关闭,有办法解决吗?
- asp.net中可以在session中保存一个结构用于网页间保持状态么?
- Crystal report for .net 中如何将一列数据以行的形式现实出来(急)
- 如何使LABEL控件自动换行
不要用服务器端的
<asp:TemplateColumn>
<HeaderTemplate>
选择
</HeaderTemplate>
<ItemTemplate>
<input id="rdSelect" type="radio" name="rdSelect" value='<%#DataBinder.Eval(Container.DataItem, "ObjectID")%>' >//这里的ObjectID可以换成你想要的东东.
</ItemTemplate>
</asp:TemplateColumn>在后台中应用int aObjectID = int.Parse(Request.Params["rdSelect"]);如果Request.Params["rdSelect"] == null则表示没有任何行被选中.
//定义事件==为绑定在Grid1中的RadioButton加上
private void rbSelect_CheckedChanged(object sender ,EventArgs e)
{
for (int i = 0 ; i < Grid1.Items.Count; i++)
{
if (Grid1.Items[i].FindControl("rdSelect") != null)
{
if (Grid1.SelectedIndex != i)
{
((RadioButton)Grid1.Items[i].FindControl("rdSelected")).Checked = false;
}
}
}
}//在DataGrid1的ItemCreated事件中,为RadioButton加上事件处理private void DataGrid1_ItemCreated(object sender,DataGridItemEventArgs e)
{
if (e.Item.FindControl("rdSelect") != null)
{
((RadioButton)e.Item.FindControl("rdSelect")).CheckedChanged += new EventHandler(this.Grid1_CheckedChanged);
}
}
{
for (int i = 0; i < DataGrid1.Items.Count; i++)
{
if (DataGrid1.Items[i].FindControl("rbTest") != null)
{
if (int.Parse(((RadioButton)sender).Attributes["Index"]) != i)
{
((RadioButton)DGridFlow.Items[i].FindControl("rbTest")).Checked = false;
}
}
}
} private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.FindControl("rbTest") != null)
{
((RadioButton)e.Item.FindControl("rbTest")).CheckedChanged += new EventHandler(rbTest_CheckedChanged);
((RadioButton)e.Item.FindControl("rbTest")).Attributes["Index"] = e.Item.ItemIndex.ToString();
}
}
.VB文件代码如下:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Me.IsPostBack Then
DataGrid1.DataSource = CreateData()
DataGrid1.DataBind()
End If
Call SaveRadState()
End SubCreateData略Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound If e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.Item Or _
e.Item.ItemType = ListItemType.SelectedItem Then
Dim myLbl As Label
myLbl = e.Item.FindControl("lblRad")
myLbl.Text = "<input type=radio name='myradiogroup' value=" & CStr(e.Item.ItemIndex) & ">"
End If 'If e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.Item Then
' Dim myLbl As Label
' myLbl = e.Item.FindControl("lblRad")
' myLbl.Text = "<input type=radio name='myradiogroup' value=" & CStr(e.Item.ItemIndex) & ">"
'End If
End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim str As String
Dim lItem As DataGridItem str = Request.Form("myradiogroup") If str Is Nothing Then Exit Sub Me.TextBox1.Text = "select row:" + str
End Sub Private Sub SaveRadState()
Dim str As String
Dim lItem As DataGridItem str = Request.Form("myradiogroup") If str Is Nothing Then Exit Sub For Each lItem In DataGrid1.Items
If lItem.ItemType = ListItemType.AlternatingItem Or lItem.ItemType = ListItemType.Item Or _
lItem.ItemType = ListItemType.SelectedItem Then
Dim myLbl As Label
myLbl = lItem.FindControl("lblRad")
If myLbl.Text.IndexOf(str) > 0 Then
myLbl.Text = "<input type=radio name='myradiogroup' value=" & CStr(lItem.ItemIndex) & " checked>"
Else
myLbl.Text = "<input type=radio name='myradiogroup' value=" & CStr(lItem.ItemIndex) & ">"
End If
End If
Next
End Sub另为,我的DATAGRID共四列:第一列:CHECKBOX,第二列:RADIOBUTTON,第三列:LINK,第四列:普通列