C# 在 DataGridView 里 增加了一列 CheckBoxColumn ,怎么点击后不能打钩啊?如何设置?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 在 DataGridView 里 增加了一列 CheckBoxColumn ,怎么点击后不能打钩啊?如何设置?相关的知识,希望对你有一定的参考价值。
参考技术A 采用js实现。具体看代码:
<asp:GridView ID="gdvAttrationdis" runat="server" AutoGenerateColumns="False" HorizontalAlign="Center"
Width="98%" AllowPaging="True" PageSize="5">
<Columns>
<asp:TemplateField HeaderText="选择">
<ItemTemplate>
<asp:RadioButton ID="ChkSel" runat="server" ValidationGroup="a" onclick="javascript:CheckOtherIsCheckedByGVIDAttration(this);" />
<asp:Label ID="lblattractionId" runat="server" Visible="false" Text='<%#Eval("attractionId")%>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" Width="10%" />
<HeaderStyle HorizontalAlign="Center" />
</asp:TemplateField>
</Columns>
<HeaderStyle Height="22px" HorizontalAlign="Left" />
<PagerStyle HorizontalAlign="Center" />
</asp:GridView>
<script language="javascript" type="text/javascript">
function CheckOtherIsCheckedByGVIDAttrationDis(spanChk)
var IsChecked = spanChk.checked;
if(IsChecked)
spanChk.parentElement.parentElement.style.backgroundColor='#D7FFD7';
spanChk.parentElement.parentElement.style.color='#f2f9fd';
var CurrentRdbID = spanChk.id;
var Chk = spanChk;
Parent = document.getElementById('ctl00_ContentPlaceHolder2_gdvAttrationdis');
var items = Parent.getElementsByTagName('input');
for(i=0;i<items.length;i++)
if(items[i].id != CurrentRdbID && items[i].type=="radio")
if(items[i].checked)
items[i].checked = false;
items[i].parentElement.parentElement.style.backgroundColor='#f2f9fd';
items[i].parentElement.parentElement.style.color='#D7FFD7';
</script>
参考资料:自己项目所用
参考技术B 把CheckBoxColumn 列的ReadOnly属性改为false。 参考技术C 1、CheckBoxColumn 该列是否是只读的,即属性ReadOnly=true?2、整个页面是否重新加载过?本回答被提问者采纳
c# datagridview 中添加comboBox的问题
我在一个窗体里创建了一个datagridview控件,没有绑定数据源,我把其中一列设置成了DataGridViewComboBoxColumn类型,我想通过点击这一列的单元格弹出下拉菜单,而这个菜单是数据库中某一表的其中一列,我怎么才能把这数据库中的表和这个下拉菜单相绑定?各位大侠帮我啊~~~~
参考技术A 这个需要触发的是datagridview的CellContentClick事件,在这个事件里,判断你的datagridview的ColumnIndex是不是所属的combobox的索引,如果是,才进行进一步的操作,例如://假定你的
combobox的索引是5,如果不确定,可以通过弹出e.ColumnIndex看看你所点击的combobox的索引是几
private void datagridview_CellContentClick(object sender, DataGridViewCellEventArgs e)
if (e.ColumnIndex == 5 && e.RowIndex != -1 && !datagridview.Rows[e.RowIndex].IsNewRow)
//这个地方写你的事件操作,如:
String id = datagridview.Rows[e.RowIndex].Cells[0].Value.ToString();
......
本回答被提问者采纳 参考技术B DataGridViewComboBoxCell cellColor = (DataGridViewComboBoxCell)dr.Cells[1]; //
cellColor.ValueMember = "ProductId";
cellColor.DisplayMember = "ProductName";
cellColor.DataSource = productList; //一个数据集,比如List<Products> 参考技术C 模板列
以上是关于C# 在 DataGridView 里 增加了一列 CheckBoxColumn ,怎么点击后不能打钩啊?如何设置?的主要内容,如果未能解决你的问题,请参考以下文章
急!在datagridview中修改或增加数据,单击按钮能将写入的数据保存到数据库里?求C#源代码,谢谢交个朋友
C# winform 把datagridview一列分别显示在combobox里
c# datagridview 中添加comboBox的问题