C# 中的DataGridView控件如何设置成具有复选框功能?

C# 中的DataGridView控件如何设置成具有复选框功能?,第1张

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('确定要删除信息?')
}
}

GridView1

<HeaderTemplate>

<input id="chkAll1" runat="server" type="checkbox" name="chkAll1" onclick="CheckAll(this,'GridView1')" />全选

</HeaderTemplate>

<ItemTemplate>

<asp:CheckBox runat="server" ID="cbx1" />

</ItemTemplate>

function CheckAll(oCheckbox,strGvlist)

{

var GridView1 = document.getElementById(strGvlist)

for(i = 0i <GridView1.rows.lengthi++)

{

GridView1.rows[i].cells[0].getElementsByTagName("INPUT")[0].checked = oCheckbox.checked

}

}

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/11387854.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存