请看下面的图片

当我使用以下代码单击一个单元格时,我在图中显示的三个文本框中获得所选行值.
void dataGridView1_CellClick_1(object sender, DataGridViewCellEventArgs e) {
TBGRNo.Text = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();
TBSName.Text = dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString();
TBFName.Text = dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString();
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:我将如何在DevExpress XtraGrid控件中做同样的事情?
我需要将float显示为
1.00
1.50
1.55
1.60
Run Code Online (Sandbox Code Playgroud)
以下是我使用f2格式看到的内容.
1.
1.5
1.55
1.6
Run Code Online (Sandbox Code Playgroud)
有没有办法强制尾随0出现?
(我正在使用DevExpress SpinEdit控件并尝试设置显示和编辑格式.)
我正在尝试在客户端获取选定的网格行KeyField值;
我曾经尝试过以下各种结果:
<ClientSideEvents RowClick="function(s, e) {var key= grid.GetSelectedKeysOnPage()[0];}" />
//This gives previous selected rows value everytime
Run Code Online (Sandbox Code Playgroud)
<ClientSideEvents RowClick="function(s, e) { grid.GetRowValues(grid.GetFocusedRowIndex(), 'MyKeyFieldName', OnGetRowValues); }" />
//This gives previous selected row and also gives an error: "A primary key field specified via the KeyFieldName property is not found in the underlying data source. Make sure.. blabla" But the MyKeyFieldName is true and i dont want to make a callback, i dont want to use this method!
Run Code Online (Sandbox Code Playgroud)
<ClientSideEvents RowClick="function(s, …Run Code Online (Sandbox Code Playgroud) 我希望它的行为就像你在应用程序上的某个地方点击一样.(折叠所有菜单,下拉等)
实际上,我正在尝试解决您在WPF应用程序中托管Windows窗体控件时遇到的与互操作性相关的焦点问题WindowsFormsHost:如果DevExpress的WPF菜单/弹出窗口打开并且您单击Windows窗体控件,则菜单/ popup不会自动被解雇.
现在我WindowsFormsHost在WPF区域中有很多Windows Forms控件以及很多DevExpress控件.为了轻松解决这个问题,我添加了一个消息过滤器来挂钩应用程序中的所有点击,然后我看看点击的控件是否是Windows窗体控件.然后我需要做一些事情来使DevExpress的所有WPF菜单等被解雇,如果它们是开放的.
GlobalMouseHandler globalClick = new GlobalMouseHandler();
System.Windows.Forms.Application.AddMessageFilter( globalClick );
Run Code Online (Sandbox Code Playgroud)
GlobalMouseHandler:
public class GlobalMouseHandler : System.Windows.Forms.IMessageFilter
{
private const int WM_LBUTTONDOWN = 0x201;
private const int WM_RBUTTONDOWN = 0x204;
public bool PreFilterMessage( ref System.Windows.Forms.Message m )
{
if( m.Msg == WM_LBUTTONDOWN || m.Msg == WM_RBUTTONDOWN )
{
var c = System.Windows.Forms.Control.FromHandle( m.HWnd );
if( c != null )
// TODO: CLOSE ALL WPF MENUS ETC
// Didn't work: MainWindow.Instance.ARandomControl.Focus();
}
return false;
} …Run Code Online (Sandbox Code Playgroud) 我们遇到了一个奇怪的错误,我们在调试时遇到了问题.
我们有一个使用Microsoft CAB,DevExpress组件和.Net 3.5的MDI工作区.
如果用户在工作区中打开两个窗口,每个窗口包含UserControl绑定到两个单独的数据模型,然后最小化它们,则第一个最小化窗口是在第二个窗口最小化时清除它的绑定字段.
该.Equals和.GetHashCode数据模型的方法已被重写,使两者的数据模型被认为是相等的.如果我们改变它以使它们是唯一的,我们就不会得到这种行为.
这是一些显示问题的示例伪代码
var a = new MyWindow();
a.DataModel = new SomeClass(123);
a.ShowInMdiWorkspace();
var b = new MyWindow();
b.DataModel = new SomeClass(123);
b.ShowInMdiWorksace();
a.Minimize();
// If SomeClass.GetHashCode() is overwritten to consider two objects
// as equal based on the value passed in, then the data bindings for A
// get cleared on this call. If SomeClass.GetHashCode is unique, then
// this problem does not happen.
b.Minimize();
Run Code Online (Sandbox Code Playgroud)
这是第二个窗口最小化时的调用堆栈:

在EndEditSession()堆栈中的呼叫跟踪上面,它被调用 …
我有一个必须在UI线程上运行的长时间运行方法.(Devex - gridView.CopyToClipboard())
我不需要UI在复制时响应,我添加了一个启动画面,这样用户就不会觉得无聊了.
当我运行这个程序时一切都很好.
当我运行一个不同的程序时,麻烦就开始了,而这个程序又启动了一个新进程并在其上运行程序.复制几秒后标题读取(Not Responding)并且鼠标光标显示忙,它当然会在几秒钟内清除但我想摆脱它,因为它给用户误解了程序的感觉是有缺陷的.
有没有办法设置我创建的流程的"超时"?
编辑:
主程序调用以下代码:
fillsProcess = new Process();
fillsProcess.StartInfo.FileName = Application.ExecutablePath;
fillsProcess.Start();
Run Code Online (Sandbox Code Playgroud)
在fillsProcess中,当单击某个按钮时,将调用以下代码:
gridViewToCopy.CopyToClipboard();
Run Code Online (Sandbox Code Playgroud)
这行代码需要一段时间来处理,几秒钟后,fillsProcess的窗口看起来没有响应,因为此方法在UI线程上运行.
编辑第二名:
显然(并且非常可以理解)
gridViewToCopy.CopyToClipboard();
Run Code Online (Sandbox Code Playgroud)
不是导致此问题的唯一方法.许多Devex方法必须在UI线程上运行(例如,数据排序,数据过滤)
所以感谢任何提供特定解决方案的人(无论是否有效),但我原来的问题再次突然出现:
有没有办法改变超时时间或以某种方式控制整个"无响应"的惨败?
我在界面上有以下警告:
c:\ Users [MyUser]\Documents\Visual Studio 2013\Projects\MyProject\MyProject\ReportFiles\CustomReportFieldListIcons.cs中的类型'DevExpress.Data.Browsing.Design.IColumnImageProvider'与导入的类型'DevExpress.Data.Browsing冲突.Design.IColumnImageProvider'在'C:\ Program Files(x86)\ DevExpress\DXperience13.1\Bin\Framework\DevExpress.XtraTreeList.v13.1.dll'使用'c:\ Users [MyUser] \中定义的类型Documents\Visual Studio 2012\PRojects\XtraReportTest\XtraReportTest\ReportFiles\CustomReportFieldListIcons.cs'
为什么?我检查过参考文献,看不出有什么问题吗?
一年多以前,我记得看过一位DevExpress福音传教士在Visual Studio shell中预览或至少推广丰富的Javascript重构(超出有限的智能感知),我记得部分CodeRush/DevExpress产品线.我很兴奋.
今天检查(lmgtfy)我只能找到非常非常有限的参考,只有一个关于产品描述中的beta的小讽刺线,没有视频,没有博客帖子,没有社区动态.它掉了吗?雾件?执行不力,他们甚至没有推广它?
Javascript可能是有史以来最流行的编程语言,并且在过去10年中几乎每台机器上都有一个VM,为什么编辑器支持这么差?(与Java和C#相比)?你看到ScottGu吹嘘我们现在有jQuery intellisense,但在IDE中它与C#支持的丰富性相比,这是一个笑话.
有人曾经说过,因为有很多写Javascript的风格,富有IDE(超出intellisense),重构支持很难,但如果有几个引擎可以解释/编译JS同样的结果肯定应该很难分析它来支持像重命名变量这样的东西,提取方法,移动到另一个命名空间(或它的JS迷你)等.我错了吗?
海全,
我想知道如何在Devexpress xtragrid(网格控件)中禁用行标题.在正常情况下,我们将禁用DataGrid的属性row header visbile为false.但是如何在Devexpress中禁用.
请帮忙
编辑

我已经通过将groupindex赋予aspxgridview中的特定列来对网格进行分组.
例如,如果我通过人名进行分组,并且当单击箭头以查看内容时,该特定人员制作的订单详细信息将包含在详细内容中.
当我点击标题字段进行排序时,它正在对groupContent内的数据进行排序,但它不用于排序groupsum的数据
除了人名之外,我将所有总计作为小组摘要的一部分显示.
例如,如果您在以下链接中看到:
https://demos.devexpress.com/ASPxGridViewDemos/Summary/GroupSortBySummary.aspx
如果按公司名称排序,则会对内容进行排序,但显示国家/地区和总和的摘要无法在外部排序.
请建议我选择解决这个问题.
谢谢.
devexpress ×10
c# ×6
winforms ×3
.net ×2
aspxgridview ×2
xtragrid ×2
.net-3.5 ×1
asp.net ×1
client-side ×1
javascript ×1
mdi ×1
process ×1
refactoring ×1
sorting ×1
wpf ×1