GVKun编程网logo

关于TOleContainer在新窗体显示,并禁止工具条的方法,

11

在本文中,我们将为您详细介绍关于TOleContainer在新窗体显示,并禁止工具条的方法,的相关知识,此外,我们还会提供一些关于.net–ApiController与ODataController在

在本文中,我们将为您详细介绍关于TOleContainer在新窗体显示,并禁止工具条的方法,的相关知识,此外,我们还会提供一些关于.net – ApiController与ODataController在露出DTO时、AjaxControlToolKit--TabContainer控件的介绍、android.graphics.drawable.DrawableContainer.DrawableContainerState的实例源码、antd-Select组件下拉选项的样式修改不了(getContainer/getPopupContainer)(模态框类似)的有用信息。

本文目录一览:

关于TOleContainer在新窗体显示,并禁止工具条的方法,

关于TOleContainer在新窗体显示,并禁止工具条的方法,

总结

以上是小编为你收集整理的关于TOleContainer在新窗体显示,并禁止工具条的方法,全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

.net – ApiController与ODataController在露出DTO时

.net – ApiController与ODataController在露出DTO时

当我应该继承我的控制器表单ODataController和ApiController时,有人可以解释我吗?

这个问题是由ApiController返回的结果可以用OData查询过滤的。

如果我将QueraybleAttribute应用于contoller的方法,即使操作返回IEnumerable,查询也被处理。
但是没有这个属性,但是调用config.EnableQuerySupport(),只有当方法返回IQueryable时才会处理查询。
我认为这是不一致的行为。 WebAPI documentation and examples意味着控制器必须从ODataController中输出。我有点困惑。
ApiController意外和部分支持部分(至少$ skip,$ filter和$ top)的OData协议。或者这是设计,我需要ODataController来完成ODataSupport。

真正的问题是我的服务暴露了DTO,而不是POCO。可能没有一对一的映射。需要将OData查询重新转换为与POCO的EF查询相对应的DTO。
现在只是和OData玩。我检索实体并将其转换为DTO。诚然,从DB中获取所有这些都不是很好,因为每个请求都是容忍实验的。但是如果需要DTO的一些过滤子集,那么绝对不需要将所有实体返回给客户端。
OData查询开始使用ApiController和Querayble属性开箱即用,但上述不一致会使我做错事情。

解决方法

Can someone explain me when I should inherit my controller form
ODataController vs ApiController?

如果要公开一个遵守OData protocol的端点,则需要从ODataController继承。如果要执行其他操作,例如REST端点,则继承自ApiController。

应用WebAPI OData框架的一些部分,但不是其他部分可能不是一个好主意。在某些情况下,可能在其他情况下可能无法正常工作。例如,您可能会获得查询支持,但可能不会生成$ Metadata端点(这只是推测,实际的症状可能不同)。

听起来你已经使用了EntityFramework。我知道有许多示例显示如何将其作为OData端点。

如果由于某种原因不想这样做,您可以实现自己的查询。这在this tutorial的几个地方简要介绍,但是要点是添加一个类型为ODataQueryOptions< T>对您的操作,并使用其上的方法过滤您的结果集。但是,为所有可能的OData查询生成好的数据库查询可能会很痛苦,所以如果可能的话应该避免这种情况。

AjaxControlToolKit--TabContainer控件的介绍

AjaxControlToolKit--TabContainer控件的介绍

1. Introduction:

Tab本身就应该是个以页签形式显示组织网页内容的一个控件。在AJAX Control Tool Kit的控件中有TabContainer控件,它是一些TabPanel控件的载体,而每个TabPanel可以像标准的Panel控件一样,成为其它一些ASP.NET控件的容器。TabPanel通过它的三部分结构HeaderText,HeaderTemplate和ContentTemplate属性来指定它的内容。

TabContainer控件具有保持当前页面状态的能力。当页面发生刷新后,最新被选中的Tab将被保持其选中的状态;此外每个Tab的可操作属性页可以保持。

2. Properties:

  <ajaxToolkit:TabContainer runat="server" 
        OnClientActiveTabChanged="ClientFunction" 
        Height="150px">
    <ajaxToolkit:TabPanel runat="server" 
        HeaderText="Signature and Bio"
        <ContentTemplate>
            ...
        </ContentTemplate>
    />
</ajaxToolkit:TabContainer>

上面就是TabContainer的结构,它分为两大部分,TabContainer的属性部分和TabPanel属性部分。

TabContainer属性:

a. ActiveTabChanged(Event): 当选中的Tab被改变的时候触发的事件(服务器端事件)。

b. OnClientActiveTabChanged: 当选中的Tab改变时触发的客户端脚本事件。

c. CssClass - 被用于定义其客户表现的 Css Class 样式,它具有默认的 Tab 主题样式,但是也可以根据实际需要进行修改

d. ActiveTabIndex - 初始化被设置为选中的 Tab

e. Height - 其中 Tab 的高度(不包括其标题栏)

f. Width - 其中 Tab 的宽度

g. ScrollBars - 是否显示滚动条,可以设置为、None、Horizontal、Vertical、Both 或者 Auto

TabPanel属性:

a. Enabled - 是否显示该 Tab 页,该属性可以在客户端脚本中改变

b. OnClientClick - 当被点击时触发的客户端脚本事件名称

c. HeaderText - Tab 标题

d. HeaderTemplate - 一个 TemplateInstance.Single ITemplate 用来其定义标题

e. ContentTemplate - 一个 TemplateInstance.Single ITemplate 用来其定义内容

特别需要注意的是CssClass可以设定为你自定义格式的CSS,假如你的CssClass为Customer,需要自定义的Css属性有以下这些:

Tabs Css classes

· .ajax__tab_header: A container element that wraps all of the tabs at the top of the TabContainer. Child CSS classes:.ajax__tab_outer.

· .ajax__tab_outer: An outer element of a tab,often used to set the left-side background image of the tab.Child CSS classes: .ajax__tab_inner.

· .ajax__tab_inner: An inner element of a tab,often used to set the right-side image of the tab. Child CSS classes:.ajax__tab_tab.

· .ajax__tab_tab: An element of the tab that contains the text content. Child CSS classes:none.

· .ajax__tab_body: A container element that wraps the area where a TabPanel is displayed. Child CSS classes: none.

· .ajax__tab_hover . This is applied to a tab when the mouse is hovering over. Child CSS classes:.ajax__tab_outer.

· .ajax__tab_active: This is applied to a tab when it is the currently selected tab. Child CSS classes:.ajax__tab_outer.

那么自定义的header的Css就叫做; Customer.ajax_tab_header{…}/

在下面的例子中将会介绍几个自定义的Css样式。

3. Example:

和以前每个控件一样,我们需要先建立一个ajaxtoolkit模版:

第一步: 创建一个ajaxtoolkit模板:

起个项目名字叫做AjaxControlToolKit_Tab。

第二步: 编辑default.aspx页面,

首先需要在form的scriptmanager下方拖入一个TabContainer控件,然后设置它的属性:

可以看出来每个tabcontainer中需要有tabpanel Panel的属性中设置headertext,也就是这个tab的名字,然后每个panel中需要ContentTemplate来显示内容,随便填写点显示的内容。

然后再添加几个tabpanel,下面的每个tabpanel的内容这里可以拷贝上面的内容。

因为我这里设置了CssClass属性,所以控件会重载这个Css而不是用默认的那个Css样式。

第三步:我们需要创建一个Css文件来存放自定义的tab样式。

右键project,点击’Add New Item’,创建一个叫做stylee.css文件,然后在default.aspx文件的<Head>节点部分加上

<link rel="stylesheet" type="text/css" href="stylesheet.css" />

这里附上用到的Css样式:

/* ajax__tab_ie-theme theme */

.ajax__tab_ie-theme .ajax__tab_header

{

padding-left:5px;

}

.ajax__tab_ie-theme .ajax__tab_header .ajax__tab_tab

{

margin-right:0px;

background:url(img/ie/tab_unselected.gif);

width:116px;

padding:9px 0px 3px 0px;

text-align:center;

color:#006699;

font-family:verdana;

font-size:13px;

display:block;

}

.ajax__tab_ie-theme .ajax__tab_active .ajax__tab_tab

{

padding:6px 0px 3px 0px;

background:url(img/ie/tab_selected.gif);

}

.ajax__tab_ie-theme .ajax__tab_body

{

background:url(img/ie/ie_tabbacker_720x296.jpg) no-repeat;

font-size:13px;

font-family:verdana;

height:296px;

width:716px;

}

.ajax__tab_ie-theme .ajax__tab_body div

{

padding:8px;

}

第四步:向工程天添加用到的图片:创建一个img文件夹,然后加入图片,用到的图片在后面提供的代码链接里可以下载.

4. 代码下载:

http://dujingjing1230.download.csdn.net/

From: http://www.jb51.cc/article/p-unbaszrk-nb.html

android.graphics.drawable.DrawableContainer.DrawableContainerState的实例源码

android.graphics.drawable.DrawableContainer.DrawableContainerState的实例源码

项目:boohee_v5.6    文件:Drawableutils.java   
private static boolean setContainerConstantStateV9(DrawableContainer drawable,ConstantState constantState) {
    if (!sSetConstantStateMethodFetched) {
        try {
            sSetConstantStateMethod = DrawableContainer.class.getDeclaredMethod("setConstantState",new Class[]{DrawableContainerState.class});
            sSetConstantStateMethod.setAccessible(true);
        } catch (NoSuchMethodException e) {
            Log.e(LOG_TAG,"Could not fetch setConstantState(). Oh well.");
        }
        sSetConstantStateMethodFetched = true;
    }
    if (sSetConstantStateMethod != null) {
        try {
            sSetConstantStateMethod.invoke(drawable,new Object[]{constantState});
            return true;
        } catch (Exception e2) {
            Log.e(LOG_TAG,"Could not invoke setConstantState(). Oh well.");
        }
    }
    return false;
}
项目:pixate-freestyle-android    文件:PXDrawableutil.java   
/**
 * Returns a {@link Map} that holds a mapping from the existing state-lists
 * in the background {@link Drawable}.
 * 
 * @param background A {@link Drawable} background (
 *            {@link StateListDrawable}).
 * @return A {@link Map}. An empty map in case the background
 *         <code>null</code>,or is not a {@link StateListDrawable}.
 */
public static Map<int[],Drawable> getExistingStates(Drawable background) {
    LinkedHashMap<int[],Drawable> map = new LinkedHashMap<int[],Drawable>();
    if (background instanceof StateListDrawable) {
        // Grab the existing states. Note that the API hides some of the
        // public functionality with the @hide tag,so we have to access
        // those through reflection...
        StateListDrawable stateList = (StateListDrawable) background;
        DrawableContainerState containerState = (DrawableContainerState) stateList
                .getConstantState();
        Drawable[] children = containerState.getChildren();
        try {
            // This method is public but hidden ("pending API council")
            Method method = stateList.getClass().getmethod("getStateSet",int.class);
            for (int i = 0; i < containerState.getChildCount(); i++) {
                Object state = method.invoke(stateList,i);
                if (state instanceof int[]) {
                    map.put((int[]) state,children[i]);
                }
            }
        } catch (Exception e) {
            PXLog.e(TAG,e,"Error getting the state set");
        }
    }
    return map;
}
项目:pixate-freestyle-android    文件:PXDrawableutil.java   
/**
 * Check if two Drawables are equal. A regular check for a Drawable equals
 * just checks for the instance reference,while this check is doing a
 * deeper equals when dealing with {@link DrawableContainer} instances. In
 * these cases,the method will run equals on each of the child drawables in
 * the container (order is importance as well).
 * 
 * @param d1
 * @param d2
 * @return <code>true</code> if the drawables are equal,<code>false</code>
 *         otherwise.
 */
public static boolean isEquals(Drawable d1,Drawable d2) {
    if (d1 == d2) {
        return true;
    }
    if (d1 == null || d2 == null) {
        return false;
    }
    if (d1 instanceof DrawableContainer && d2 instanceof DrawableContainer) {
        // Try to match the content of those containers
        DrawableContainerState containerState1 = (DrawableContainerState) ((DrawableContainer) d1)
                .getConstantState();
        DrawableContainerState containerState2 = (DrawableContainerState) ((DrawableContainer) d2)
                .getConstantState();

        return Arrays.equals(containerState1.getChildren(),containerState2.getChildren());
    }
    return d1.equals(d2);
}
项目:GitHub    文件:WoWoStateListColorAnimation.java   
private void setColors(View view,int[] colors) {
    Drawable drawable = view.getBackground();
    if (drawable instanceof StateListDrawable) {
        StateListDrawable stateListDrawable = (StateListDrawable) drawable;
        DrawableContainerState drawableContainerState = (DrawableContainerState) stateListDrawable.getConstantState();
        if (drawableContainerState != null) {
            Drawable[] drawables = drawableContainerState.getChildren();
            for (int i = 0; i < colors.length; i++) if (drawables[i] instanceof GradientDrawable) ((GradientDrawable) drawables[i]).setColor(colors[i]);
        }
    } else Log.w(TAG,"Drawable of view must be StateListDrawable in WoWoStateListColorAnimation");
}
项目:solved-hacking-problem    文件:bt.java   
public static boolean m2634b(Drawable drawable) {
    if (drawable instanceof LayerDrawable) {
        return VERSION.SDK_INT >= 16;
    } else if (drawable instanceof InsetDrawable) {
        return VERSION.SDK_INT >= 14;
    } else {
        if (drawable instanceof StateListDrawable) {
            return VERSION.SDK_INT >= 8;
        } else {
            if (drawable instanceof GradientDrawable) {
                return VERSION.SDK_INT >= 14;
            } else {
                if (!(drawable instanceof DrawableContainer)) {
                    return drawable instanceof C0063q ? m2634b(((C0063q) drawable).m469a()) : drawable instanceof C0244a ? m2634b(((C0244a) drawable).m1984a()) : drawable instanceof ScaleDrawable ? m2634b(((ScaleDrawable) drawable).getDrawable()) : true;
                } else {
                    ConstantState constantState = drawable.getConstantState();
                    if (!(constantState instanceof DrawableContainerState)) {
                        return true;
                    }
                    for (Drawable b : ((DrawableContainerState) constantState).getChildren()) {
                        if (!m2634b(b)) {
                            return false;
                        }
                    }
                    return true;
                }
            }
        }
    }
}
项目:FMTech    文件:TintManager.java   
private static boolean shouldMutateBackground(Drawable paramDrawable)
{
  if (Build.VERSION.SDK_INT >= 16) {}
  for (;;)
  {
    return true;
    if ((paramDrawable instanceof LayerDrawable))
    {
      if (Build.VERSION.SDK_INT < 16) {
        return false;
      }
    }
    else if ((paramDrawable instanceof InsetDrawable))
    {
      if (Build.VERSION.SDK_INT < 14) {
        return false;
      }
    }
    else if ((paramDrawable instanceof DrawableContainer))
    {
      Drawable.ConstantState localConstantState = paramDrawable.getConstantState();
      if ((localConstantState instanceof DrawableContainer.DrawableContainerState))
      {
        Drawable[] arrayOfdrawable = ((DrawableContainer.DrawableContainerState)localConstantState).getChildren();
        int i = arrayOfdrawable.length;
        for (int j = 0; j < i; j++) {
          if (!shouldMutateBackground(arrayOfdrawable[j])) {
            return false;
          }
        }
      }
    }
  }
}
项目:android-segoway    文件:ImageButtonIgnoreTransparency.java   
private Bitmap getBitmapFromStateListDrawable(){
    DrawableContainerState state = (DrawableContainerState) getDrawable().getConstantState();
    for(Drawable drawable : state.getChildren() ){
        if( drawable instanceof BitmapDrawable ){
            return ((BitmapDrawable) drawable).getBitmap();
        }
    }
    return null;
}
项目:boohee_v5.6    文件:Drawableutils.java   
static boolean canSafelyMutateDrawable(@NonNull Drawable drawable) {
    if (drawable instanceof LayerDrawable) {
        if (VERSION.SDK_INT >= 16) {
            return true;
        }
        return false;
    } else if (drawable instanceof InsetDrawable) {
        if (VERSION.SDK_INT < 14) {
            return false;
        }
        return true;
    } else if (drawable instanceof StateListDrawable) {
        if (VERSION.SDK_INT < 8) {
            return false;
        }
        return true;
    } else if (drawable instanceof GradientDrawable) {
        if (VERSION.SDK_INT < 14) {
            return false;
        }
        return true;
    } else if (drawable instanceof DrawableContainer) {
        ConstantState state = drawable.getConstantState();
        if (!(state instanceof DrawableContainerState)) {
            return true;
        }
        for (Drawable child : ((DrawableContainerState) state).getChildren()) {
            if (!canSafelyMutateDrawable(child)) {
                return false;
            }
        }
        return true;
    } else if (drawable instanceof DrawableWrapper) {
        return canSafelyMutateDrawable(((DrawableWrapper) drawable).getWrappedDrawable());
    } else {
        if (drawable instanceof android.support.v7.graphics.drawable.DrawableWrapper) {
            return canSafelyMutateDrawable(((android.support.v7.graphics.drawable.DrawableWrapper) drawable).getWrappedDrawable());
        }
        return true;
    }
}

antd-Select组件下拉选项的样式修改不了(getContainer/getPopupContainer)(模态框类似)

antd-Select组件下拉选项的样式修改不了(getContainer/getPopupContainer)(模态框类似)

image.png

modal框的dom与<div id=''root''>同级别,因此不能以user-manage为父元素定义样式,以.modal定义样式会污染其他模块的模态框,(下拉框选项的级别也与root同级),即:

// F12观察组件展开dom结构
<div id=''app''>
    <div id=''root''>
        <section id=''user-manage''>
           页面内容:搜索行列表等
        </section>
    </div>
    <div id=''modal''>
        <Modal>
          模态框内容
          label=''角色分配'' <Select>下拉框</Select>
        </Modal>
    </div>
    
    <divselect-dropdown~~~~''>
        下拉框选项内容
    </div>
</div>

解决方案:使用getContainer和getPopupContainer将模态框,挂在到指定id,select-dropdown挂载到其父元素下面

// 好
<Modal getContainer={() => document.getElementById(''user-manage'')}>

// 更好更简洁,实测有效
<Modal getContainer={false}>

// 不好
<Select getPopupContainer={() =>document.getElementById(''user-manage'')}>

// 好:永远在角色分配下面,相对固定
<Select mode=''multiple'' getPopupContainer={e => e.parentNode}>
// F12观察组件展开dom结构
<div id=''app''>
    <div id=''root''>
        <seletion>
           页面内容:搜索行列表等~~~~
           <div id=''modal''>
            <Modal>
              模态框内容
              label=''角色分配'' <Select>下拉框</Select>
               <divselect-dropdown''>
                   下拉框选项内容
               </div>
            </Modal>
        </seletion>
    </div>
</div>

小知识点:select-dropdown样式排版

// dom结构:
<xxxant-select-dropdown-menu-item-group''>
    <div>喷涂检测组</div>
    <ul>
        <li>业务组管理</li>
        <li>数据组管理员</li>
        <li>模型管理员</li>
        <li>普通人员</li>
    </ul>
</xxx>
<xxxant-select-dropdown-menu-item-group''>
    <div>挂网填浆检测组</div>
    <ul>
        <li>业务组管理</li>
        <li>数据组管理员</li>
        <li>模型管理员</li>
        <li>普通人员</li>
    </ul>
</xxx>

1.4个li如何一行2个:

#user-manage #modal .select-dropdown ul li{  
  display: inline;  
  float: left;  
}

2.排除最后一个元素,不给下border样式

#user-manage #modal .select-dropdown .ant-select-dropdown-menu-item-group:not(:last-of-type){  
  border-bottom: 0.5px #CFD8DF solid;  
}

今天的关于关于TOleContainer在新窗体显示,并禁止工具条的方法,的分享已经结束,谢谢您的关注,如果想了解更多关于.net – ApiController与ODataController在露出DTO时、AjaxControlToolKit--TabContainer控件的介绍、android.graphics.drawable.DrawableContainer.DrawableContainerState的实例源码、antd-Select组件下拉选项的样式修改不了(getContainer/getPopupContainer)(模态框类似)的相关知识,请在本站进行查询。

本文标签: