在C#的WinForm中,怎么在datagridview中插入复选框?

在C#的WinForm中,怎么在datagridview中插入复选框?,第1张

如果是设计的时候设置,添加列的时候ColumnType属性选择DataGridViewCheckBoxColumn

如果是代码添加列,如下:

DataGridViewColumn myCol = new DataGridViewCheckBoxColumn()

myGrid.Columns.Add(myCol)

runat="server" name="chids" />

Font-Underline="False" HorizontalAlign="Center" />

DataFormatString='{0:d}'>

--%>

ImageAlign="AbsMiddle">


//全选
function selectAll(SourceID, ControlID) {
var sourceBox = document.getElementById(SourceID)
var theBox = document.all(ControlID)

elm = theBox.getElementsByTagName('Input')
for (i = 0i < elm.lengthi++) {
if (elm[i].type == "checkbox") {
elm[i].checked = sourceBox.checked
}
}
}
//选择删除检测
function CheckNULL(ControlID) {
var isNULL = false
var theBox = document.all(ControlID)
elm = theBox.getElementsByTagName('Input')

for (var i = 0i < elm.lengthi++) {
var e = elm[i]
if (e.type == "checkbox" && e.checked == true && e.id != "chkAllInBox") {
isNULL = true
}
}
if (isNULL == false) {
alert('请选择删除项!')
return false
}
else {
return confirm('确定要删除信息?')
}
}

var table = new System.Data.DataTable()

table.Columns.AddRange(new System.Data.DataColumn[] {

new System.Data.DataColumn() { ColumnName = "ID", DataType = typeof(int) },

new System.Data.DataColumn() { ColumnName = "Name", DataType = typeof(string) }

})

table.Rows.Add(new object[] { 1, "A" })

table.Rows.Add(new object[] { 2, "B" })

table.Rows.Add(new object[] { 3, "C" })

table.Rows.Add(new object[] { 4, "D" })

dgv.AllowUserToAddRows = false

dgv.AutoGenerateColumns = false

dgv.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {

new System.Windows.Forms.DataGridViewCheckBoxColumn(),

new System.Windows.Forms.DataGridViewTextBoxColumn()

{

HeaderText="ID",

DataPropertyName="ID",

ReadOnly = true

},

new System.Windows.Forms.DataGridViewTextBoxColumn()

{

HeaderText="Name",

DataPropertyName="Name",

ReadOnly = true

}

})

dgv.DataSource = table

// ---------------------------------------------------------

// 以上是为了测试,自定义的控件和数据

// ---------------------------------------------------------

btn.Click += (obj, args) =>

{

// 主要是这里

var items = dgv.Rows.Cast<System.Windows.Forms.DataGridViewRow>()

.Where(item =>true.Equals(item.Cells[0].Value))

.Select(item =>new

{

ID = (item.Cells[1].Value ?? 0),

Name = (item.Cells[2].Value ?? "") as string

})

var lines = items

.Select(item =>string.Format("{0} - {1}", item.ID, item.Name))

// 在输出中显示了被勾选的 工号和姓名

Console.WriteLine(string.Join("\r\n", lines))

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11620377.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存