c#在应用程序中:
1.如何把datagrid中的一列隐藏?(因为要用,但不需要看) 2.在主窗口中有一panel,加载子窗口(子窗口全为用户控件)。有一个问题:如果已加载了一个子窗口,哪么再加载一个到这个panel时,不显示出来,可能是显示在最低下吧,也可能没有显示。怎么解决这个问题?(因为用户控件只有.show)

解决方案 »

  1.   

    TO:xxuu503
    给不能给点代码?
      

  2.   

    private void gridstyle()
    {
    DataGridTableStyle grdTableStyle1 = new DataGridTableStyle(); grdTableStyle1.MappingName = "table1";
    grdTableStyle1.PreferredColumnWidth = 125;
    grdTableStyle1.PreferredRowHeight = 15;
    grdTableStyle1.AlternatingBackColor=SystemColors.Info;
    DataGridTextBoxColumn grdColStyle1 = new DataGridTextBoxColumn();
    grdColStyle1.HeaderText = "设备名称";
    grdColStyle1.MappingName = "A1";
    grdColStyle1.Width = 120; DataGridTextBoxColumn grdColStyle2 = new DataGridTextBoxColumn();
    grdColStyle2.HeaderText = "总数";
    grdColStyle2.MappingName = "A2";
    grdColStyle2.Width = 100; DataGridTextBoxColumn grdColStyle3 = new DataGridTextBoxColumn();
    grdColStyle3.HeaderText = "外借数";
    grdColStyle3.MappingName = "A3";
    grdColStyle3.Width = 70; DataGridTextBoxColumn grdColStyle4 = new DataGridTextBoxColumn();
    grdColStyle4.HeaderText = "归还数";
    grdColStyle4.MappingName = "A4";
    grdColStyle4.Width = 70;
                 
    DataGridTextBoxColumn grdColStyle5 = new DataGridTextBoxColumn();
    grdColStyle5.HeaderText = "损坏数";
    grdColStyle5.MappingName = "A5";
    grdColStyle5.Width = 70; DataGridTextBoxColumn grdColStyle6 = new DataGridTextBoxColumn();
    grdColStyle6.HeaderText = "保养数";
    grdColStyle6.MappingName = "A6";
    grdColStyle6.Width = 70; DataGridTextBoxColumn grdColStyle7 = new DataGridTextBoxColumn();
    grdColStyle7.HeaderText = "维修数";
    grdColStyle7.MappingName = "A7";
    grdColStyle7.Width = 70; DataGridTextBoxColumn grdColStyle8 = new DataGridTextBoxColumn();
    grdColStyle8.HeaderText = "当前库存";
    grdColStyle8.MappingName = "A8";
    grdColStyle8.Width = 80;

    //根据选择的显示内容动态控制显示列    可以在此处处理
    grdTableStyle1.GridColumnStyles.AddRange(new DataGridColumnStyle[]
    {
    grdColStyle1, 
    grdColStyle2,
    grdColStyle8,
    grdColStyle3,
    grdColStyle4,
    grdColStyle5,
    grdColStyle6,
    grdColStyle7
    }); Grid1.TableStyles.Add(grdTableStyle1); }附:通过设置列宽度为0也可以进行隐藏
      

  3.   

    重新写tablestyle时,grdColStyle6.Width = 0;
      

  4.   

    1设置列宽度为0
    2在主窗口中有一panel,加载子窗口(子窗口全为用户控件)。如果已加载了一个子窗口,哪么再加载一个到这个panel前先关掉先前加载的子窗口
      

  5.   

    回复人: cjjll(潇潇风雨) ( ) 信誉:100  2005-4-4 12:55:16  得分: 0  
     
     
        
    如他写的那杨!
      

  6.   

    1、前面cjjll(潇潇风雨) 已经回答
    2、UserControl.BringToFront()或将其他的UserControl释放掉(执行UserControl.Dispose()方法)
      

  7.   

    to: langmafeng问题2中,我怎么知道他当前是打开的是哪个,UserControl.Dispose对的是 哪个呢?我有n个用户控件,不知用户当前加载的是哪个,而且我是这样的
    usercontrol1 frm=new usercontrol1()
    frm.paranet=mainpanel
    frm.show
    我每个调用的地方都是这样写的,我在 这里怎么去 释放 mainpanel中当前的用户控件呢?
      

  8.   

    tablestyle可以设置显示那几列,visible=false就完了(生成器)
      

  9.   


    private void gridstyle()
    {
    DataGridTableStyle grdTableStyle1 = new DataGridTableStyle();grdTableStyle1.MappingName = "table1";
    grdTableStyle1.PreferredColumnWidth = 125;
    grdTableStyle1.PreferredRowHeight = 15;
    grdTableStyle1.AlternatingBackColor=SystemColors.Info;
    DataGridTextBoxColumn grdColStyle1 = new DataGridTextBoxColumn();
    grdColStyle1.HeaderText = "设备名称";
    grdColStyle1.MappingName = "A1";
    grdColStyle1.Width = 120;DataGridTextBoxColumn grdColStyle2 = new DataGridTextBoxColumn();
    grdColStyle2.HeaderText = "总数";
    grdColStyle2.MappingName = "A2";
    grdColStyle2.Width = 100;DataGridTextBoxColumn grdColStyle3 = new DataGridTextBoxColumn();
    grdColStyle3.HeaderText = "外借数";
    grdColStyle3.MappingName = "A3";
    grdColStyle3.Width = 70;DataGridTextBoxColumn grdColStyle4 = new DataGridTextBoxColumn();
    grdColStyle4.HeaderText = "归还数";
    grdColStyle4.MappingName = "A4";
    grdColStyle4.Width = 70;
                 
    DataGridTextBoxColumn grdColStyle5 = new DataGridTextBoxColumn();
    grdColStyle5.HeaderText = "损坏数";
    grdColStyle5.MappingName = "A5";
    grdColStyle5.Width = 70;DataGridTextBoxColumn grdColStyle6 = new DataGridTextBoxColumn();
    grdColStyle6.HeaderText = "保养数";
    grdColStyle6.MappingName = "A6";
    grdColStyle6.Width = 70;DataGridTextBoxColumn grdColStyle7 = new DataGridTextBoxColumn();
    grdColStyle7.HeaderText = "维修数";
    grdColStyle7.MappingName = "A7";
    grdColStyle7.Width = 70;DataGridTextBoxColumn grdColStyle8 = new DataGridTextBoxColumn();
    grdColStyle8.HeaderText = "当前库存";
    grdColStyle8.MappingName = "A8";
    grdColStyle8.Width = 80;//根据选择的显示内容动态控制显示列    可以在此处处理
    grdTableStyle1.GridColumnStyles.AddRange(new DataGridColumnStyle[]
    {
    grdColStyle1, 
    grdColStyle2,
    grdColStyle8,
    grdColStyle3,
    grdColStyle4,
    grdColStyle5,
    grdColStyle6,
    grdColStyle7
    });Grid1.TableStyles.Add(grdTableStyle1);}附:通过设置列宽度为0也可以进行隐藏
      

  10.   

    ds.Tables["TableName"].Columns["ColumnName"].ColumnMapping = MappingType.Hidden;