[RedAjax]UpdatePanelRenderMode in RedControl

         this.Master.AjaxManager.AjaxSettings.AddAjaxSetting(P_Edit, P_GridMulti, null, UpdatePanelRenderMode.Inline);

        this.Master.AjaxManager.AjaxSettings.AddAjaxSetting(P_Edit, P_GridList, null, UpdatePanelRenderMode.Inline);

        RadAjaxLoadingPanel loading = (RadAjaxLoadingPanel)this.Master.AjaxManager.FindControl("RadAjaxLoadingPanel1");

        this.Master.AjaxManager.AjaxSettings.AddAjaxSetting(P_GridMulti, P_GridMulti, loading, UpdatePanelRenderMode.Inline);


來源參考:

https://docs.telerik.com/devtools/aspnet-ajax/controls/ajaxmanager/how-to/radajax-and-webusercontrols

        

[SQL]UPDATE 產生流水號

 

DECLARE @MAX_ACCOLFID INT

SELECT @MAX_ACCOLFID = MAX(ACCOLFID)  FROM COIF_1

--以上流水號可承接別的TABLE

UPDATE COIF_2

SET @MAX_ACCOLFID = @MAX_ACCOLFID + 1,

     ACCOLFID = @MAX_ACCOLFID

[ASP.net][javascript]RadComboBox取出選取欄位的值

 <script type="text/javascript">

            function OnClientSelectedIndexChanged(sender, eventArgs) {

                var item = eventArgs.get_item().get_attributes()._data.BNKNM;

                document.getElementById("Q_txtBNKNM").value = item;

            }

    </script>

<ILS:ILSRadComboBox ID="Q_cbxBNKID" runat="server" ColumnName="BNKID" Filter="Contains" OnClientSelectedIndexChanged="OnClientSelectedIndexChanged" Onchange="OnClientSelectedIndexChanged">

                            <HeaderTemplate>

                                <table style="width: 150px" cellspacing="0" cellpadding="0">

                                    <tr>

                                        <td style="width: 25px;">代號

                                        </td>

                                        <td style="width: 125px; align-items: center;">名稱

                                        </td>

                                    </tr>

                                </table>

                            </HeaderTemplate>

                            <ItemTemplate>

                                <table style="width: 150px" cellspacing="0" cellpadding="0">

                                    <tr>

                                        <td id="td_cbxBNKID" style="width: 25px;">

                                            <%# DataBinder.Eval(Container, "Attributes['BNKID']")%>

                                        </td>

                                        <td id="td_cbxBNKNM" style="width: 125px;">

                                            <%# DataBinder.Eval(Container, "Attributes['BNKNM']")%>

                                        </td>

                                    </tr>

                                </table>

                            </ItemTemplate>

                        </ILS:ILSRadComboBox>


------------------------------------下面是連資料庫產生值

DataTable dt = DKHIFIComManager.Get_DKHIFI_USP_COM_FBNKID_AS01("", "");

                DataRow dr = dt.NewRow();

                dr["BNKID"] = string.Empty;

                dr["BNKNM"] = string.Empty;

                dt.Rows.InsertAt(dr, dt.Rows.Count);


                foreach (DataRow dataRow in dt.Rows)

                {

                    RadComboBoxItem item = new RadComboBoxItem();


                    item.Text = dataRow["BNKID"].ToString();//combobox

                    item.Value = dataRow["BNKID"].ToString();


                    string BNKID = (string)dataRow["BNKID"];

                    string BNKNM = (string)dataRow["BNKNM"];


                    item.Attributes.Add("BNKID", BNKID);

                    item.Attributes.Add("BNKNM", BNKNM);


                    Q_cbxBNKID.Items.Add(item);


                    item.DataBind();

                }

[EXCEL]巨集範例

Sub HCUP160P_AUTO()

'

' HCUP160P_AUTO 巨集

'


'

    Rows("1:19").Select ' 選取1-19row

    Range("A19").Activate

    Selection.Delete Shift:=xlUp '刪除選取的row

    

    

    Columns("A:AE").Select

    With ActiveWindow

        .SplitColumn = 0

        .SplitRow = 0

    End With

    Selection.UnMerge

    

    Cells.Select

    With Selection

        .WrapText = False

        .Orientation = 0

        .AddIndent = False

        .IndentLevel = 0

        .ShrinkToFit = False

        .ReadingOrder = xlLTR

        .MergeCells = False

    End With

    Rows("1:1").Select

    With ActiveWindow

        .SplitColumn = 0

        .SplitRow = 1

    End With

    ActiveWindow.FreezePanes = True

    

    

    Dim i As Long

    i = ActiveSheet.UsedRange.Rows.Count '取得現在工作表有幾個row

    Dim strD As String

    strD = "Z" + Str(i)

    strD = Replace(strD, " ", "")  '算出右下角最後一格

    

    '依照G欄做排序

    Columns("G:G").Select

    ActiveWorkbook.Worksheets(ActiveSheet.Name).Sort.SortFields.Clear

    ActiveWorkbook.Worksheets(ActiveSheet.Name).Sort.SortFields.Add Key:=Range("G1"), _

        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

    With ActiveWorkbook.Worksheets(ActiveSheet.Name).Sort

        .SetRange Range("A2:" + strD) '排序範圍擴大

        .Header = xlNo

        .MatchCase = False

        .Orientation = xlTopToBottom

        .SortMethod = xlPinYin

        .Apply

    End With

    Columns("A:Z").EntireColumn.AutoFit '完成後自動欄寬

End Sub



[SQL]從sp取得值

declare @AAA VARCHAR(10)
  CREATE TABLE #TMP_DEPT
  (
  COMPID VARCHAR(5)
  ,SEG  VARCHAR(5)
  ,SEGNM  VARCHAR(5)
  ,[TEXT]  VARCHAR(50)
  ,DEPTID VARCHAR(10)
  ,DEPTSIMNM VARCHAR(20)
  )
  INSERT INTO #TMP_DEPT EXEC HDUSP_IFCOM_GETFNDEPT2_A00 'HD','1', 'LG000','','FID'
 

 SELECT @AAA =DEPTID  FROM #TMP_DEPT

  SELECT @AAA

  DROP TABLE #TMP_DEPT

[BAT]找出符合檔名檔案list,並依名稱排序,再擷取第一行的檔案名稱,複製到目的資料夾

dir /b /o-n "*DBR_INV*" > list.txt

@Echo Off&Setlocal Enabledelayedexpansion
For /f "delims=" %%i in (list.txt) do (
Set /a n+=1
If !n!==1 DEL C:\Users\andy7333\Desktop\A\%%i 
If !n!==1 COPY C:\Users\andy7333\Desktop\%%i C:\Users\andy7333\Desktop\A\
)
Pause

[c#][asp.net]表單互相連結(專案使用-不一定符合不同專案)

表單互相連結,專案使用,不一定符合不同專案

1.      開啟連結與被連結的表單,均可能需要修改,以下用IFITA30F為例說明

a.      宣告formCode & formNumber,在最外層(page_load之外) formCode可以直接指定

 #region 連結用,避免formNumber抓到錯誤的上一頁面或下一頁面定義變數

string formCode = "IFITA30F";

string formNumber = string.Empty;

#endregion

b.     page_load,連結formNumber,所有用到this.FormNumber的地方都要修改為formNumber

注意生命週期Page_InitPage_PreInitPage_InitComplete,會在page_load前生成,我目前表單沒有,如果有用到的要注意

#region 連結用,避免formNumber抓到錯誤的上一頁面或下一頁面
      
       if (!IsPostBack)
       {
            if (Request["FormNumber"] != null)
            {
                formNumber = Request["FormNumber"].ToString();
            }
            else
            {
                formNumber = this.FormNumber;
            }
        }
#endregion

c.      Gridview中,使用連結HyperLink,直接鍵結DB data 欄位IFFORMNUM

<asp:TemplateField HeaderText="表單單號">
       <ItemTemplate>
                 <asp:HyperLink runat="server" ID="Hbtn" Text='<%# Bind("IFFORMNUM") %>' HeaderText="表單單號" ItemStyle-Width="150px" />
       </ItemTemplate>
</asp:TemplateField>

RowDataBound裡面

foreach (Control c in e.Row.Cells[3].Controls)
            {
                if (c.GetType().Equals(typeof(HyperLink)))
                {
                    HyperLink hl = (HyperLink)c;
                    string FormCode = "IFITA30F";
                    HyperLink Hbtn = (HyperLink)e.Row.Cells[3].FindControl("Hbtn");
                    string FormNumber = Hbtn.Text;
                    string COMPID = ftbCOMPID.Text;
 
                    string PARM = "FormCode=" + FormCode + "&FormNumber=" + FormNumber + "&COMPID=" + COMPID;
                    string TempURL = ResolveClientUrl("~/Apps/FORM/" + FormCode + "/" + FormCode + ".aspx?PGMID=VIEW&" + PARM + "&");
                    string URL = (DataManager.ResolveValidUrl(TempURL, "FCOM010"));
 
                    hl.Attributes.Add("onclick""opened2=window.open('" + URL + "','資訊類請採購單','width=1000,height=700,scrollbars=yes',''); opened2.opener=null; setTimeout('opened2.close()', 180000); return false;");
                    hl.NavigateUrl = "#"; 
                }
            }

 

2.      注意事項(原表單和被開啟表單均須要查看)

A.     Gridview中其他控制項,在傳送表單時,會有值需要在page_load重抓一次的寫法

a.      請在gridviewRowDataBound時,將值丟給ViewState,例如ViewState["IFITA31FD80"]

b.     Page_load重抓值時,請用ViewState["IFITA31FD80"]傳回給dataset

 

B.     如果Gridview有使用temptable,例如Gridview1.Temptable  => 注意開啟與被開啟表單的Gridview1名稱,如果重複,可能導致抓錯Temptable

a.      如果開啟同一formCode的表單,需要開啟自己本身的表單,盡可能避開使用Temptable,改用ViewState可以有相同作用但不會錯誤

b.     開啟不同formCode的表單,只要在命名Gridview時,加入formCode名稱就可以避開問題,例如fgvD1 => fgvIFITA30D1

 

C.     如果有使用,關號、支號等判斷,請注意,this.StepA or (B)=> 會抓到你正在處理的表單的關號,而非被開啟的表單視窗的關號

a.      簡單判斷為formNumber == this.FormNumber,如果相等,就是正在處理的表單,如果不相等,就是被開啟的表單

b.     如必須在被開啟的表單抓到關號,請從DB抓對應formCode & formNumber的關號支號,才會正確


[DataSet Bug]無法啟用條件約束。一或多個資料列的值違反非 Null、唯一或外部索引鍵條件約束

在使用TableAdapter作Query時發生 1. 原因為有些資料欄位Query出來後為null值 但是該欄位在dbDataSet的屬性AllowDBNull為False 因此把該欄位(或乾脆把全部欄位屬性AllowDBNull改為True 2. maxLength 檢...