DataTable如何添加多选,全选

DataTable如何添加多选,全选,第1张

官方文档: https://datatables.net/extensions/select/examples/api/select.html

一、首先展示效果图

开始之前先导包!

第一步:先写html

第二步:写js文件

第三步:写js文件中的deleteMapPoint函数

应该没啦。完工~

private void Form1_Load(object sender, EventArgs e)

{

DataGridViewTextBoxColumn name1 = new DataGridViewTextBoxColumn()

name1.Name = "name"name1.HeaderText = "name"

dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn []{name1})

//加第一个字段

DataGridViewCheckBoxColumn apple=new DataGridViewCheckBoxColumn ()

apple.Name = "apple"apple.HeaderText = "apple"

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

apple})//加第二个。

DataGridViewCheckBoxColumn orange = new DataGridViewCheckBoxColumn()

orange.Name = "orange"orange.HeaderText = "orange"

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

orange})//加第三个。

DataGridViewCheckBoxColumn banana = new DataGridViewCheckBoxColumn()

banana.Name = "banana"banana.HeaderText = "banana"

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

banana})//加第四个。

string con = "server=192.160.1.88database=MYLXuid=sspwd=123"

SqlConnection conn = new SqlConnection(con)//数据库连接

string sql = "select name,apple,orange,banana from table1"

SqlDataAdapter sda = new SqlDataAdapter(sql,conn)

DataSet ds = new DataSet()//数据读取

sda.Fill(ds)//填充

ds = convert(ds)//调用方法

dataGridView1.Columns[0].DataPropertyName = "name"//数据绑定

dataGridView1.Columns[1].DataPropertyName = "apple"//数据绑定

dataGridView1.Columns[2].DataPropertyName = "orange"//数据绑定

dataGridView1.Columns[3].DataPropertyName = "banana"//数据绑定

dataGridView1.DataSource = ds.Tables[0].DefaultView//数据绑定

}

DataSetconvert(DataSet ds)

{

int col = ds.Tables[0].Columns.Count//获取

int row = ds.Tables[0].Rows.Count//获取列

//dataGridView1 中的checkbox只接受bool类型的值的所以这里面要转换一下!

for (int j = 0j <rowj++)

{

for (int i = 1i <coli++)

{

//把为1的写写true

if (ds.Tables[0].Rows[j][i].ToString ().Trim () == "1")

{

ds.Tables[0].Rows[j][i] = "true"

}

//把不为1的写成false

else

{

ds.Tables[0].Rows[j][i]="false"

}

}

}

return ds

}

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存