???紵 发表于 2015-9-22 07:05:31

[原创]SAP Business One SDK Grid中添加ComboBox CheckBox(Demo)

        ComboBoxColumn Object
Description
This object represents a column with a combo box.
Available from Columns.Item when the column type is gct_ComboBox.

        CheckBoxColumn Object
Description
This object represents a column with a check box.
Available from Columns.Item when the column type is gct_CheckBox.

   Grid Class
1.只能利用SQL Query对列Columns操作,不能象Matrix那样可以oColumns.Add("A1", SAPbouiCOM.BoFormItemTypes.it_EDIT);
2.ComboBoxColumn只能识别字符串string类型的值。CheckBoxColumn 空值。

以下为部分代码.

   //Set the grid data
      oGrid = ( ( SAPbouiCOM.Grid )( oItem.Specific ) );
      
      oForm.DataSources.DataTables.Add( "MyDataTable" );
      oForm.DataSources.DataTables.Item(0).ExecuteQuery("select DocNum, CardName,docentry,'' as YorN from OINV where docstatus='O' order by docnum");
      oGrid.DataTable = oForm.DataSources.DataTables.Item( "MyDataTable" ); //对Grid绑定数据源
      


      //Set columns size
      oGridColumn = (SAPbouiCOM.GridColumn)(oGrid.Columns.Item(1));
      oGridColumn.Type = SAPbouiCOM.BoGridColumnType.gct_ComboBox;//转换成ComboBoxColumn
      oComboBoxColumn = (SAPbouiCOM.ComboBoxColumn)(oGrid.Columns.Item(1));
      oComboBoxColumn.ValidValues.Add("1", "One");
      oComboBoxColumn.ValidValues.Add("2", "Two");
      oComboBoxColumn.ValidValues.Add("3", "Three");

      oGridColumn = (SAPbouiCOM.GridColumn)(oGrid.Columns.Item(3));
      oGridColumn.Type = SAPbouiCOM.BoGridColumnType.gct_CheckBox;//转换成CheckBoxColumn
      
      oGrid.Columns.Item(1).Width = 150;
      oGrid.Columns.Item(1).Editable = true;
      oGrid.Columns.Item(2).Width = 30;
      oGrid.Columns.Item(2).Editable = true;
      oGrid.Columns.Item(3).Width = 50;
      oGrid.Columns.Item(3).Editable = true;


      oGrid.CollapseLevel = 1;
      oGrid.AutoResizeColumns();
      oForm.Freeze(false);      
Project 下载
页: [1]
查看完整版本: [原创]SAP Business One SDK Grid中添加ComboBox CheckBox(Demo)