解决方案 »
- gridview为什么不显示
- 关于C#+Excel的奇怪问题
- 【讨论】如何做出一个美观又实用的日历?
- 求助,UPDATE 语句的语法错误
- 为什么我看教程用C#写的IE内核浏览器会装不了FLASH PLAYER?
- 用C#开发一个界面程序。要实现单位(编号、名称、备注)和人员(工号、姓名、性别、年龄、职业)的管理,要求单位和人员放入一个TreeView中,结构采用MVC 结构,代码中需要用到ArrayList,hashtable等,数据库使用sqlserver
- 谁能告诉我这是为什么啊
- 如何用arraylist对csv文件进行排序?
- Picturebox的Paint事件触发问题,谢谢!
- 为什么我的程序关闭后(点×)端口无法释放呢?
- GridView表的显示
- c#可以取得指定字符后的文字吗?在遇到一串指定字符后又不取得
自定义列类型,参考
http://www.cnblogs.com/geovindu/archive/2011/11/16/2251075.html
//加载绑定数据集合
private List<Fruit> P_Fruit; private void Frm_Main_Load(object sender, EventArgs e)
{
DataGridViewCheckBoxColumn dgvc =//创建列对象
new DataGridViewCheckBoxColumn();
dgvc.HeaderText = "状态";//设置列标题文本
dgv_Message.Columns.Add(dgvc);//添加列
P_Fruit = new List<Fruit>() {//创建数据集合
new Fruit(){Name="海鲜",Price=30},
new Fruit(){Name="山货",Price=40},
new Fruit(){Name="水果",Price=33},
new Fruit(){Name="肉禽类",Price=31}};
dgv_Message.DataSource = P_Fruit;//绑定数据集合
dgv_Message.Columns[0].Width = 50;//设置列宽度
dgv_Message.Columns[1].Width = 170;//设置列宽度
dgv_Message.Columns[2].Width = 150;//设置列宽度 }
//点选复选框删除相应数据
private void btn_Remove_Click(object sender, EventArgs e)
{
for (int i = 0; i < dgv_Message.Rows.Count; i++)//遍历行集合
{
if (dgv_Message.Rows[i].Cells[0].Value != null &&
dgv_Message.Rows[i].Cells[1].Value != null &&
dgv_Message.Rows[i].Cells[2].Value != null )//判断值是否为空
{
if (Convert.ToBoolean(dgv_Message.Rows[i].//判断是否选中项
Cells[0].Value.ToString()))
{
P_Fruit.RemoveAll(//标记集合中指定项
(pp) =>
{
if (pp.Name == dgv_Message.Rows[i].Cells[1].Value.ToString() &&
pp.Price == Convert.ToSingle(
dgv_Message.Rows[i].Cells[2].Value.ToString()))
pp.ft = true;//开始标设
return false;//不删除项
});
}
}
}//CodeGo.net/
P_Fruit.RemoveAll(//删除集合中指定项
(pp) =>
{
return pp.ft;
});
dgv_Message.DataSource = null;//绑定为空
dgv_Message.DataSource = P_Fruit;//绑定到数据集合
dgv_Message.Columns[0].Width = 50;//设置列宽度
dgv_Message.Columns[1].Width = 170;//设置列宽度
dgv_Message.Columns[2].Width = 150;//设置列宽度
}