一 頁面嵌入ASPxGridLookup控件sql
<dx:ASPxGridView ID="gridDetail" runat="server"
KeyFieldName="ID"
OnRowInserting="gridDetail_RowInserting" >
<Columns>
<dx:GridViewCommandColumn Caption="操做" ButtonType="Image" Width="80px">
<HeaderTemplate>
<dx:ASPxButton ID="btnDetailInsert" Image-Url="../Scripts/easyui/themes/icons/edit_Add.png"
ClientInstanceName="btnDetailInsert" AutoPostBack="true" runat="server" OnClick="btnDetailInsert_Click">
</dx:ASPxButton>
</HeaderTemplate>
<DeleteButton Text="刪除" Visible="true">
<Image ToolTip="刪除" Url="../Scripts/easyui/themes/icons/no.png" />
</DeleteButton>
<UpdateButton Text="保存" Visible="true">
<Image ToolTip="保存" Url="../Scripts/easyui/themes/icons/filesave.png" />
</UpdateButton>
<EditButton Text="編輯" Visible="true">
<Image ToolTip="編輯" Url="../Scripts/easyui/themes/default/images/tree_file.Gif" />
</EditButton>
<CancelButton Text="取消" Visible="true">
<Image ToolTip="取消" Url="../Scripts/easyui/themes/icons/back.png" />
</CancelButton>
</dx:GridViewCommandColumn>
<dx:GridViewDataTextColumn Caption="管理員" Width="100px" FieldName="GuideAdmin.Name"
VisibleIndex="1">
<EditItemTemplate>
<dx:ASPxGridLookup ID="GridGuideAdmin" Width="100%" runat="server" IncrementalFilteringMode="StartsWith"
TextFormatString="{1}" ClientInstanceName="GridGuideAdmin" OnInit="GridGuideAdmin_Init"
KeyFieldName="ID">
<Columns>
<dx:GridViewDataTextColumn FieldName="CompanyCode" Caption="代碼" />
<dx:GridViewDataTextColumn FieldName="ShortName" Caption="管理員" />
</Columns>
</dx:ASPxGridLookup>
</EditItemTemplate>
</dx:GridViewDataTextColumn>
</Columns>
</dx:ASPxGridView>ide
二 綁定ASPxGridLookup數據,沒有Order By SQ則取到的數據會亂跳(這個花了半天才調出來)
protected void GridGuideAdmin_Init(object sender, EventArgs e)
{
EmployeeRule employeeRule = new EmployeeRule();
((ASPxGridLookup)sender).DataSource = employeeRule.GetEmployeeDataTable();
}
public DataTable GetEmployeeDataTable()
{
string sql = @"select
PersonName as ShortName,
Sq as ID,ADM_EmployeeCd as CompanyCode
from V_Employee order by SQ";
return dao.GetDataTable(sql); ;
}
3、得到頁面數據保存ui
protected void gridDetail_RowInserting(object sender, DevExpress.Web.Data.ASPxDataInsertingEventArgs e)
{
//判斷是否包含導遊數據,不包含則根據需求人數從報價中帶入
guideAssignOrderItemInfo.GuideSq = new Guid((sender as ASPxGridView).GetMasterRowKeyValue().ToString());
guideAssignOrderItemInfo.GuideAdmin.ID = Guid.Parse(GetColumnLookUpValue(gridDetail, "GuideAdmin.Name", "GridGuideAdmin"));
this.SetDetailParameter(sender as ASPxGridView, e.NewValues);this
this.guideAssignOrderItemInfoRule.Add(guideAssignOrderItemInfo);
e.Cancel = true;
(sender as ASPxGridView).CancelEdit();
this.grid.Focus();
}spa
public string GetColumnLookUpValue(ASPxGridView grv, string strColumn, string strControlFieldName)
{//從下拉框獲得Sq值
ASPxGridLookup control = (ASPxGridLookup)grv.FindEditRowCellTemplateControl((GridViewDataColumn)grv.Columns[strColumn], strControlFieldName);
if (control != null && control.Value != null)
{
return control.Value.ToString();
}
return Guid.Empty.ToString();
}orm