DevExpress控件使用交流,DevExpress中国社区 售前咨询
当前位置: 首页 > 开发资源 » 常见问答 » DevExpress ASPxGridView控件套包常见问题FAQ大全

DevExpress ASPxGridView控件套包常见问题FAQ大全

作者:zhuhm   来源:本站原创   浏览:Loading...次   发布时间:2012-08-22   评论:1条

问: 有没有可能使用Javascript来复制被选择的/聚焦的行值到剪贴板上?

答: 由于安全原因,不可能使用Javascript来操作剪贴板。但是你可以在网上: How to Copy to Clipboard in JavaScript上找到一个的可能的方案.

问: 如果asp:FileUpload 控件被放在编辑表上,在更新操作期间为什么不能发送文件到服务器?

答: 当你工作在回调上时,文件上传工具不会传送文件到服务器端。你应该禁用EnableCallBacks 属性来时代码工作。有可能使用表格的回调和ASPxUploadControl组件来上传文件。在这种情况下,两种请求是必须的:一个必须被发送来上传文件和存放在服务器上的某处,另一个被发送用来执行更新:
Image Upload in ASPxGridView
How to upload files from the EditForm
Inserting of a new row in ASPxGridView with the image preview enabled

问:当 ImageButton被用在ASPxGridView上,为什么要点击这个按钮两次才能发送一个命令到服务器 ?

答:在回调区间ImageButton不工作,所以你应该在回传模式下使用表格或者将ImageButton替换为ASPxButton 控件。在The ImageButton does not send a command in the RowClick when the page index is changed in the ASPxGridView 报告中可以重新看到同样的问题。
在我们的论坛上你将发现对于这个问题的更详细的解释。

问: 当一个新的按钮被点击时怎样使布尔编辑器被检查?

答: 有可能在编辑表中使用了 ASPxGridView.InitNewRow 事件以下面的方式来初始化:

[C#]

e.NewValues["checkedField"] = true;

[VB.NET]

e.NewValues("checkedField") = True

问: 怎样改变总摘要的文本?

答: 有可能使用过了ASPxSummaryItem.DisplayFormat 属性改变了总摘要的标题。

问: 为什么被放置在表格模板上的一些容器上的编辑器上的双向数据绑定表达式没有工作?

答: 发生了这样的问题是因为编辑器(比如. ASPxPanel, ASPxRoundPanel, ASPxPageControl, 甚至 asp:Wizard) 实现了INamingContainer 接口。那就是为什么 ASP.NET framework 中的所有表达式以同一种相同的方式工作。
ASPxGridView - Two-way data-binding expressions stop working for editors placed within a container中描述了一个可能的和可靠的提案.

问: 怎样对齐GridViewDataHyperLink栏中的超链接?

答: 有可能通过设置CellStyle.HorizontalAlign 风格属性来达到目的。
ASPxGridView - How to change a horizontal alignment for GridViewDataHyperLinkColumn

问: 如果我扔出IEnumerable 集合到the IQueryable类型,然后在LinqServerModeDataSource.Selecting 事件句柄中使用它,为什么表格会区分大小写地过滤记录?

答: 当你有一系列的对象时, LINQ-To-Objects 提供者被用于LINQ表达式。字符串过滤特征使用区分大小写的String.Contains方法,Server Mode应该被用在没有存储在服务器内存上的数据上(比如,你有一个能够提供IQueryable对象的数据源)。相反, 当所有的记录存储在内存上,Server Mode 降低了服务器的性能。

问: 怎样处理 当更新按钮被按下时的"Specified Method Not Supported" 异常?

答: 抛出这个异常时因为表格不能使用公用的借口来更新数据源 (这个异常适用于包含删除命令的所有编辑操作). 这意味着这个接口不能在这个对象上存在。比如,如果使用了 DataTable ,由于对象简单而且不能作为一个常规的数据源(比如SqlDataSource)来被编辑所以会抛出这个异常。

一个可能的解决方案是手动处理下面的事件和手动更新:
ASPxGridView.RowInserting
ASPxGridView.RowUpdating
ASPxGridView.RowDeleting
在这种情况下, e.Cancel 属性应该被设为真值。
Editing an in-memory dataset

问: 当我为GridViewDataCheckColumn自定义图片,虽然这些照片已经被浏览器加载过,为什么我不能在页面上看到它们,?

答: 从版本号2011 vol 1以来, ASPxCheckBox 使用图片代替 <input> 标签。现在所有的图片作为背景图片被渲染。你必须定义宽度和高度属性来让代码工作。
从 CheckBoxProperties.DisplayImageChecked 帮助文章中查看笔记.
BC1218: GridViewDataCheckColumn - The DisplayImageChecked/DisplayImageUnchecked/DisplayImageGrayed image rendering mechanism has been changed.

问: 在 DataItemTemplate里我使用了一个按钮。在运行一个表格回调(比如,排序,过滤,等等)后,为什么按钮点击事件没有被触发?

答: 在DataItemTemplate中的一个控件使用一个静态ID时,这个问题会经常发生。在这种情况下,多种控件实例以同样的ID来被创建。因此,不可能来决定哪一个按钮执行一个回传到服务器,而且在处理表格回调时原始数据不能被正确的加载。为了解决这个问题,可以为每一个模板控件定义一个唯一的ID。比如,你可以在基于行关键字的控件初始事件处理函数中来定义:

[ASPx]

<DataItemTemplate>

<asp:Button ID="btn1" runat="server" onclick="btn1_Click" onInit="tbItemNo_Init">

</asp:Button>

</DataItemTemplate>


[C#]

protected void btn1_Init(object sender, EventArgs e) {

Button btn = sender as Button;

GridViewDataItemTemplateContainer container = btn.NamingContainer as GridViewDataItemTemplateContainer;

btn.ID = "btn1" + container.KeyValue;

}

问: 当详细表格被更新后,怎样刷新一个主表格?

答: 默认情况下, ASPxGridView通过回调来运行。这意味着表格可以更新它自己的表现,但不会更新外部控件的表现。当主表格和明细表格有一个共同的记录时,你将在改变明细表格后不会看到主表格有变化。通过调用刷新方法来更新主表格是有必要的。
在 ASPxGridView - How to refresh a master grid when updating a detail grid展现了最简洁的代码

问: 怎样使用ASPxGridLookup 在ASPxGridView中编辑项目模板? 因为当数据绑定表达式式被用 在ASPxGridLookup编辑期间会抛出"Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control" 异常.

答:  如果数据绑定表达式被替换为运行时绑定代码(ASPxGridView - Using ASPxGridLookup with the editing functionality inside EditItemTemplate causes an exception),可以解决这个异常。

当编辑表格查看记录不是必须的,双向数据绑定表达式将使代码更简洁: How to use two-way data-bound ASPxGridLookup in edit form of ASPxGridView to edit data.

问:在过滤行弹出式菜单中怎样改变默认过滤器条件?

答: 使用GridViewDataColumnSettings.AutoFilterCondition 属性为每一栏改变过滤器条件。

问: 当表格被绑定到一系列对象上时为什么所有的编辑器表现为只读?

答: 表格从被编辑的对象的属性中获取关于领域的信息。如果属性没有设置器或者有一些属性被标记为只读的,表格将使所有的编辑器表现为只读的。比如当一系列的对象被绑定到表格(这经常法伤在LINQ查询中),会达到这种效果(匿名对象不允许改变它们的属性)。.
有两个可能的解决的方案:

本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:DevExpress控件中文网 [http://www.devexpresscn.com/]
本文地址:http://www.devexpresscn.com/DevExpress-Resources/Documentation-206.html

评论列表

Jack 发表于 2012年09月13日 01:44:50

ASPxGridLookup 控件如何在后台动态添加,现在动态添加的能显示但是不能选择。

IP:221.207.252.*

请谈谈你的看法 请使用IE或者Firefox浏览器,暂不支持Chrome!

昵称 不填则默认为游客评论

DevExpress DXperience DXv2 v12

DevExpress DXperience 下载 download

DevExpress购买、价格、授权

慧都控件网为DevExpress界面控件的中国地区唯一正式授权经销商,正版控件销售公司,授权代理商,经销商及合作伙伴。

电话:400-700-1020
        023-66090381

邮箱:sales@evget.com

>>如何选择正规控件购买渠道