winform中,如何在DataGrid中加入CheckBox控件?并且获得选择的项?
winform中,如何在DataGrid中加入CheckBox控件?且让其初始状态是打勾的?
并且获得打勾项的数据?
-----------------------
可以设置某列为 DataGridBoolColumn,但不知道怎么得到选上项的值
请持教!
问题点数:10、回复次数:6Top
1 楼Eddie005(♂) №.零零伍 (♂)回复于 2006-02-08 16:19:20 得分 7
winform下的绑定是自动保持一致的,
也就是说你在DataGrid里更改了选择,DataTable该行该列的值就改了Top
2 楼xli520(商界骄子)回复于 2006-02-08 17:18:31 得分 0
//数据源
private void InitDataGrid()
{
table = new DataTable ("table");
string sql = "select xm,xbm from xsjbxx";
table = DbHelper.Query(sql).Tables[0];
dataGrid1.DataSource = table;
DataColumn dc = new DataColumn("IsSelected", typeof(bool));
table.Columns.Add(dc);
foreach(DataRow dr in table.Rows)
{
dr["IsSelected"] = true;
}
}Top
3 楼xli520(商界骄子)回复于 2006-02-08 17:21:51 得分 0
//获取值
int rowcount = 0;
rowcount = this.dataGrid1.VisibleRowCount -1 ;
for(int i=0 ;i<rowcount;i++)
{
dataGrid1.Refresh();
bool b = false;
b = bool.Parse(table.DefaultView[2]["IsSelected"].ToString());
if(b==true)
{
MessageBox.Show(b.ToString());
}
}
--------------------------------
为什么当复选框改变时,它的值一值是 true?Top
4 楼xli520(商界骄子)回复于 2006-02-10 11:37:24 得分 0
自己搞店了,谁顶就结贴了
-----------------------------
/// <summary>
/// 取消学生注册处理
/// </summary>
private void UnRegister()
{
DialogResult result;
string errmsg = string.Empty;
bool b = false;
string id;
string xq;
string zczk;
string sql;
int count = 0;//记录注册总人数
result = MessageBox.Show("真的要取消注册吗?", "提示信息",
MessageBoxButtons.OKCancel,MessageBoxIcon.Question);
if(result != DialogResult.OK)
return;
//结束当前编辑
this.dataGrid1.BindingContext[dataGrid1.DataSource].EndCurrentEdit();
dataGrid1.BindingContext = new BindingContext();
for(int i = 0; i < table.Rows.Count; i++)
{
id = table.Rows[i]["ID"].ToString();//学生编号
xq = table.Rows[i]["XQ"].ToString();//学期
if ((bool)(table.Rows[i]["IsSelected"])==true)
{
zczk = table.Rows[i]["ZCZK"].ToString();
if(zczk == "已注册")
{
count = count + 1;
sql = "Update XSZC set ZCZK = '0' where ID = '"+id+"' and XQ = '"+xq+"' ";
try
{
DbHelper.ExecuteSql(sql);
}
catch(System.Data.SqlClient.SqlException err)
{
b = true;
errmsg = "取消学生注册失败,失败原因:" + err.Message;
}
}
}
}
if(b == true)
{
MessageBox.Show(errmsg);
}
else
{
if(count>0)
{
InitDataGrid();
MessageBox.Show("取消学生注册成功!取消总人数:" +count +"人。");
}
else
{
MessageBox.Show("没有学生被取消!请选择已注册的学生。");
}
}
}Top
5 楼shooting_star2xxx(流星)回复于 2006-02-10 22:23:10 得分 3
呵呵,正在找这个代码。收了Top
6 楼TT008(T T)回复于 2006-02-15 11:02:30 得分 0
StudyTop
相关问题
- 在winform的datagrid控件中,如何使用checkbox控件?
- datagrid控件里checkbox控件事件
- 急~~~求解在winform下如何给datagrid绑定checkbox控件(在线等待)
- winform下有什么好的datagrid控件.
- winForm中,如何在dataGrid最左边灰色的那一列上添加CheckBox控件
- 在Winform中的datagrid的如何添加一列checkbox控件的问题,请各位大侠帮帮忙,谢谢!
- ??checkbox控件
- 在winform中的datagrid控件如何实现像web中datagrid控件的功能?
- DataGrid控件中的CheckBox控件列,如何用JavaScript取得状态?
- datagrid控件中每一行记录的加上一个CheckBox控件,怎么存储CheckBox的value值?




