---
# System prepended metadata

title: 下拉式選單
tags: [實習筆記]

---

# 下拉式選單

## 下拉式選單(非連動)
* addOpData("參數名稱","SQL語法")==要記得設定[KEY]主鍵、[DESC]排序==

### Controller
```csharp=
void l_Master_Initialing(object sender, EventArgs e)
{
    //加入來自DEMOMI ID的下拉，命名為MEB_ID
    addOpData("MEB_ID", " select D.ID as [KEY] , D.ID as [DESC] from TEXT D where 1=1 group by ID");
}
```
### cshtml
* 要設定ng-options，對照參數去查詢sql語法
* sql為"m.DESC as m.DESC for m in opData.參數"
```htmlmixed=
Search Form
<div class="form-group">
      <label for="txtID_S" class="col-xs-4 control-label">編號</label>
      <div class="col-xs-4">
           <select name="txtID_S" class="form-control" ng-model="searchData.ID" ng-options="m.DESC as m.DESC for m in opData.MEB_ID">
                <option value=""></option>
           </select>
       </div>
</div>
```

## 下拉式選單(連動)
:::warning
連動的下拉式選單
![](https://i.imgur.com/QDcY7xC.png)
:::
### Controller
* addOpData("參數名稱","SQL語法")==要記得設定[KEY]主鍵、[DESC]排序、[GROUP]分組==
* 連動的話，第一個的sql語法要設定**Group By**把資料群組起來
* 第二個sql就要設定==GROUP==
```csharp=
void l_Master_Initialing(object sender, EventArgs e)
{
    //加入來自DEMOMI ID的下拉，命名為MEB_ID
    addOpData("MEB_ID", " select D.ID as [KEY] , D.ID as [DESC] from TEXT D where 1=1 group by ID");

    //連動下拉式清單
    addOpData("NAME_ID", " select D.NAME as [KEY] , D.NAME as [DESC], D.ID as [GROUP] from TEXT D where 1=1 order by D.ID ");
}
```

### cshtml
* 要設定ng-options，對照參數去查詢sql語法
* sql為"m.DESC as m.DESC for m in opData.參數"
* 連動的下拉式選單則要帶filter，==**|filter:{GROUP:searchData.要連動的參數}**==
```htmlmixed=
Search Form
<div class="form-group">
      <label for="txtID_S" class="col-xs-4 control-label">編號</label>
      <div class="col-xs-4">
           <select name="txtID_S" class="form-control" ng-model="searchData.ID" ng-options="m.DESC as m.DESC for m in opData.MEB_ID">
                <option value=""></option>
           </select>
       </div>
</div>

<div class="form-group">
        <label for="txtNAME_S" class="col-xs-4 control-label">名稱</label>
        <div class="col-xs-4">
            <select name="txtNAME_S" class="form-control" ng-model="searchData.NAME" ng-options="m.DESC as m.DESC for m in opData.NAME_ID|filter:{GROUP:searchData.ID}">
            <option value=""></option>
            </select>
        </div>
</div>
```

###### tags: `實習筆記`