设置gridcontrol.gridview为只读的方法
gridview属性中OptionsBehavior属性editable,readonly
设置gridcontrol.gridview列为只读
GridView.Columns[i].OptionsColumn.AllowEdit=false;
gridcontrol中添加checkbox复选框
添加一列,FieldName为 "check",将ColumnEdit 设置为 复选框 样式。
将要绑定的DataTable添加列 "check",Type 为 bool。 必须要设置为bool,如果类型错误的话会出现点选无效的情况
绑定DataTable到GridControl。
获取: string value = gridview.GetDataRow(i)["check"].toString();
value == "true" || "" ("false")
设置为多选
gridView1 .OptionsSelection.MultiSelect = true;
gridView1 .OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.RowSelect;
测试的例子如下:
给gridcontrol添加数据
- string strConn = "###";
- OracleConnection oconn = new OracleConnection(strConn);
- string strComm = "select CITY_NAME,DISTRICT_NAME from CC_COMPLAINT_POINT";
- OracleDataAdapter oda = new OracleDataAdapter(strComm, oconn);
- DataSet ds = new DataSet();
- try
- {
- oda.Fill(ds, "cx");
- ds.Tables["cx"].Columns.Add("check",System.Type.GetType("System.Boolean"));
- gridControl1.DataSource = ds.Tables["cx"];
- //Rel.DataSource = ds.Tables["cx"];
- //Rel.DisplayMember = "DISTRICT_NAME";
- //Rel.ValueMember = "CITY_NAME";
- }
- catch(Exception ex)
- {
- MessageBox.Show(ex.ToString());
- }
- finally
- {
- oconn.Close();
- }
- string strConn = "###"; OracleConnection oconn = new OracleConnection(strConn); string strComm = "select CITY_NAME,DISTRICT_NAME from CC_COMPLAINT_POINT"; OracleDataAdapter oda = new OracleDataAdapter(strComm, oconn); DataSet ds = new DataSet(); try { oda.Fill(ds, "cx"); ds.Tables["cx"].Columns.Add("check",System.Type.GetType("System.Boolean")); gridControl1.DataSource = ds.Tables["cx"]; //Rel.DataSource = ds.Tables["cx"]; //Rel.DisplayMember = "DISTRICT_NAME"; //Rel.ValueMember = "CITY_NAME"; } catch(Exception ex) { MessageBox.Show(ex.ToString()); } finally { oconn.Close(); }
点击测试check按钮响应如下事件(获取被check的数据)
- private void buttonX3_Click(object sender, EventArgs e)
- {
- string value="";
- string strSelected="";
- for (int i = 0; i < gridView1.RowCount; i++)
- {
- value = gridView1.GetDataRow(i)["check"].ToString();
- if (value == "True")
- {
- strSelected += gridView1.GetRowCellValue(i, "DISTRICT_NAME");
- }
- }
- MessageBox.Show(strSelected);
- }
- private void buttonX3_Click(object sender, EventArgs e) { string value=""; string strSelected=""; for (int i = 0; i < gridView1.RowCount; i++) { value = gridView1.GetDataRow(i)["check"].ToString(); if (value == "True") { strSelected += gridView1.GetRowCellValue(i, "DISTRICT_NAME"); } } MessageBox.Show(strSelected); }
运行结果如下: