当前位置: 首页>>代码示例>>C#>>正文


C# SAPbouiCOM.GetDataTableRowIndex方法代码示例

本文整理汇总了C#中SAPbouiCOM.GetDataTableRowIndex方法的典型用法代码示例。如果您正苦于以下问题:C# SAPbouiCOM.GetDataTableRowIndex方法的具体用法?C# SAPbouiCOM.GetDataTableRowIndex怎么用?C# SAPbouiCOM.GetDataTableRowIndex使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SAPbouiCOM的用法示例。


在下文中一共展示了SAPbouiCOM.GetDataTableRowIndex方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: SetGridColumn_CheckBox_SelectAll

        /// <summary>
        /// 그리드의 선택 값에 따른 전체 선택기능을 구현합니다.
        /// </summary>
        /// <param name="oGrid"></param>
        /// <param name="ColUid"></param>
        private void SetGridColumn_CheckBox_SelectAll(ref SAPbouiCOM.Grid oGrid, string ColUid)
        {
            try
            {
                XDocument root = XDocument.Parse(oGrid.DataTable.SerializeAsXML(BoDataTableXmlSelect.dxs_DataOnly));

                //검색 컬럼의 값이 'N'인 행의 개수를 확인합니다. --대상 문서번호가 존재하는 행을 제외
                var query =
                           from
                               c in root.Descendants("Row")
                           where c.Elements("Cells").Elements("Cell").Any(o => o.Element("ColumnUid").Value == ColUid && o.Element("Value").Value == "N")
                           && c.Elements("Cells").Elements("Cell").Any(o => o.Element("ColumnUid").Value == "U_TENTRY" && o.Element("Value").Value == "")//대상문서번호가 없고,
                           && c.Elements("Cells").Elements("Cell").Any(o => o.Element("ColumnUid").Value == "PROC_STS" && o.Element("Value").Value == "1")//처리상태가 정상인 행
                           select c;

                if (query.Count() > 0)
                {

                    //검색 컬럼값이 'N'인 'Row'를 조회하여 'Y'로 갱신
                    var query2 =
                           from
                               c in query.Descendants("Cell")
                           where c.Element("ColumnUid").Value == ColUid && c.Element("Value").Value == "N"
                           select c;

                    foreach (XElement ie in query2)
                    {
                        ie.Element("Value").SetValue("Y");
                    }
                }
                else
                {
                    //검색 컬럼값이 'Y'인 'Row'를 조회하여 'Y'로 갱신
                    var query3 =
                           from
                               c in root.Descendants("Cell")
                           where c.Element("ColumnUid").Value == ColUid && c.Element("Value").Value == "Y"
                           select c;

                    foreach (XElement ie in query3)
                    {
                        ie.Element("Value").SetValue("N");
                    }
                }

                oGrid.DataTable.LoadSerializedXML(SAPbouiCOM.BoDataTableXmlSelect.dxs_DataOnly, root.ToString());

                //U_CHK == 'N' 라인이 0보다 큰가
                //'N' 값이 하나라도 있다면 전체 해제이다.(주의:위 코드에서 갱신된 데이터가 select됨).
                if (query.Count() > 0)
                {
                    oGrid.Rows.SelectedRows.Clear();
                }
                else
                {
                    ////'N' 값이 없다면 전체선택
                    //oGrid.Rows.SelectedRows.AddRange(0, oGrid.Rows.Count);//0번째부터 RowCount 수만큼 선택
                    for (int iLooper = 0; iLooper < oGrid.Rows.Count; iLooper++)
                    {
                        int iRowindex = oGrid.GetDataTableRowIndex(iLooper);
                        if (oGrid.DataTable.GetValue("U_CHK",iRowindex)=="Y")
                        {
                            oGrid.Rows.SelectedRows.Add(iLooper);
                        }
                        
                    }
                    

                }

            }
            catch (Exception ex)
            {

                B1Connections.theAppl.StatusBar.SetText(ex.Message, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
            }
        }
开发者ID:wldyd0210,项目名称:TEST,代码行数:82,代码来源:KIS_TR0061F_HRD.cs

示例2: UpdateRowType

        /// <summary>
        /// 행의 상태값을 변경한다.
        /// </summary>
        /// <param name="oGrid"></param>
        /// <param name="stateFiled"></param>
        /// <param name="gridRowidx"></param>
        public void UpdateRowType(SAPbouiCOM.Grid oGrid, string stateFiled, int gridRowidx)
        {
            int rowidx = oGrid.GetDataTableRowIndex(gridRowidx);

            string ROWTYPE = oGrid.DataTable.GetValue(stateFiled, rowidx).ToString();

            if (string.IsNullOrEmpty(ROWTYPE) || ROWTYPE == SO.RowStatus.RowType.None)
            {
                oGrid.DataTable.SetValue(stateFiled, rowidx, SO.RowStatus.RowType.Insert);
            }
            else if (ROWTYPE == SO.RowStatus.RowType.Normal)
            {
                oGrid.DataTable.SetValue(stateFiled, rowidx, SO.RowStatus.RowType.Update);
            }
        }
开发者ID:wldyd0210,项目名称:TEST,代码行数:21,代码来源:KIS_SO0010A_HRD.cs


注:本文中的SAPbouiCOM.GetDataTableRowIndex方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。