C# 如何datagrid中加入checkbox列取得checkbox的值 屏蔽一些列(如何把不需要的列不要显示出来)
winform开发

解决方案 »

  1.   

    It is easy, you can use datagridcolumnstyle to do it. If you do not display a column, just do not add this datagridcolumnstyle, hehe. If you want to show checkbox, you have to inherit and override the datagridcolumnstyle.
      

  2.   

    如何取得checkbox的值?能否给个代码
      

  3.   

    自己 写dataGridTableStyle
    在你的DataGrid 建一个dataGridProjects
    里面有CheckBox 当打上钩
    if(isNewBuilt)        //为true
    {
    this.dataGridProjects.CaptionText = "333";
    this.dataGridTableStyleNewBuilt.GridColumnStyles[2].Width = 95;
    this.dataGridTableStyleNewBuilt.GridColumnStyles[2].HeaderText = "基底面积";
    this.dataGridTableStyleNewBuilt.GridColumnStyles[3].Width = 95;
    this.dataGridTableStyleNewBuilt.GridColumnStyles[3].HeaderText = "建筑面积";
    this.dataGridTableStyleNewBuilt.GridColumnStyles[4].Width = 0;
    this.dataGridTableStyleNewBuilt.GridColumnStyles[4].HeaderText = "";
    this.dataGridTableStyleNewBuilt.GridColumnStyles[5].Width = 0;
    this.dataGridTableStyleNewBuilt.GridColumnStyles[5].HeaderText = "";
    this.dataGridTableStyleNewBuilt.GridColumnStyles[6].Width = 0;
    this.dataGridTableStyleNewBuilt.GridColumnStyles[6].HeaderText = "";
    foreach(BuildProjectClass buildProject in buildProjects)
    {
    buildProject.IsNewBuilt = true;
    }
    this.dataGridProjects.Refresh();
    }
    else
    {
      this.dataGridProjects.CaptionText = "加建,扩建情况";
    this.dataGridTableStyleNewBuilt.GridColumnStyles[2].Width = 0;
    this.dataGridTableStyleNewBuilt.GridColumnStyles[2].HeaderText = "";
    this.dataGridTableStyleNewBuilt.GridColumnStyles[3].Width = 0;
    this.dataGridTableStyleNewBuilt.GridColumnStyles[3].HeaderText = "";
    this.dataGridTableStyleNewBuilt.GridColumnStyles[4].Width = 95;
    this.dataGridTableStyleNewBuilt.GridColumnStyles[4].HeaderText = "原有建筑面积";
    this.dataGridTableStyleNewBuilt.GridColumnStyles[5].Width = 95;
    this.dataGridTableStyleNewBuilt.GridColumnStyles[5].HeaderText = "加建建筑面积";
    this.dataGridTableStyleNewBuilt.GridColumnStyles[6].Width = 95;
    this.dataGridTableStyleNewBuilt.GridColumnStyles[6].HeaderText = "合计建筑面积";
    }这样 应该就可以了!
      

  4.   

    不懂  我是这样的 如何取得checkbox 那行的值
    DataColumn dtcCheck = new DataColumn("选择");
       dtcCheck.DataType = System.Type.GetType("System.Boolean");
       dtcCheck.DefaultValue = true; taskDistillData.Tables[TaskDistillData.TASKDISTILL_TABLE].Columns.Add(dtcCheck);
    dataGrid1.DataSource=taskDistillData.Tables[TaskDistillData.TASKDISTILL_TABLE];