请看下面的图片

当我使用以下代码单击一个单元格时,我在图中显示的三个文本框中获得所选行值.
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控件中做同样的事情?
海全,
我想知道如何在Devexpress xtragrid(网格控件)中禁用行标题.在正常情况下,我们将禁用DataGrid的属性row header visbile为false.但是如何在Devexpress中禁用.
请帮忙
编辑

如何更改DevExpress网格视图的字体颜色?我发现的所有解决方案都是关于改变前景色和背景色.
我希望有一个红色字体,以防单元格中的值为负.
有什么建议吗?
我有一个xtragrid与存储过程中的值.
我得到float(0.23)中的值,我想以百分比(23%)显示.
在C#中最好的方法是什么?
之前
后

我无法在XtraGrid的GridControl中获取单击单元格的列名.我怎样才能做到这一点?我正在处理GridView.Click事件.
我们在Windows窗体上有一个数据绑定XtraGrid.其中一列是复选框.问题如下:当用户选中复选框并单击"确定"按钮时,网格不会检查明确检查的复选框.当我这样做(循环遍历行)时:
isAllowed = Convert.ToBoolean(viewMain.GetRowCellValue(nRowCtr, "IsAllowed"))
Run Code Online (Sandbox Code Playgroud)
我回来假.但是,如果用户选中该框,然后单击表单上的其他位置或此网格中的另一行,从而从已选中的复选框中取消焦点,则上述相同的代码将返回True.
任何有关如何解决此问题的见解将不胜感激.
找到的解决方法: 使用默认设置,当用户单击单元格进行编辑时,单元格进入编辑模式,加载编辑器控件(在本例中我有一个CheckEdit存储库控件)并更改控件的值(在本例中为checked状态) .如果我单击另一行或另一个控件,则单元格将退出编辑模式,将更改提交到数据项.但是,如果我点击一个按钮,那么我的更改就会丢失.解决方法是使用CheckEdit的CheckedChanged事件来关闭编辑器:
Private Sub edCheck_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles edCheck.CheckedChanged
gridYears.FocusedView.CloseEditor()
End Sub
Run Code Online (Sandbox Code Playgroud) 我正在使用DevExpress制作的XtraGrid套件.我找不到任何类型的功能,但我很好奇你是否可以添加按钮或超链接到网格单元格.
上下文:我有一个事件列表.每个事件都有一个时间,开始/结束和一个类别(实用程序和维护).可以有Start事件和Stop事件.完成了对问题的分析后,我决定为每个事件设置一个StartTime和EndTime是行不通的.
因此,如果事件开始,我会将当前时间记录到Event对象,并将其设置为"Start"事件.我想在该行的单元格中添加一个"停止"按钮/超链接.如果用户希望记录Ends事件,则事件类型等将被复制到类型为"Stop"的新事件,按钮将消失.
我希望这是有道理的.
编辑:Aaronaught的回答实际上比我原来要求的更好(一个按钮)所以我已经更新了这个问题.这样,任何想要在单元格中放置超链接的人都可以从他的例子中受益:)
我在Windows窗体上有一个XtraGrid控件,绑定到一个对象集如下:
clientListBindingSource.DataSource = ObjectContext.Clients;
Run Code Online (Sandbox Code Playgroud)
ObjectContext是普通的EF上下文.要编辑客户端,我将选定行的Client对象传递给我的编辑表单,并按如下方式获取保存更改:
var rows = mainView.GetSelectedRows();
var editClient = ((Client)mainView.GetRow(rows[0]));
var editForm = new ClientDetailForm
{
EditClient = editClient
};
var result = editForm.ShowDialog();
if (result == DialogResult.OK)
{
ObjectContext.SaveChanges(SaveOptions.AcceptAllChangesAfterSave);
clientGrid.RefreshDataSource();
}
Run Code Online (Sandbox Code Playgroud)
我在编辑表单中所做的更改仍然存在于数据库中,但我尝试了几种尝试让网格更新的方法,并且在我重新启动应用程序之前它一直顽固地拒绝.我究竟做错了什么?
我有一个40列的devexpress xtragrid.我将每个单元格值与其他单元格进行比较,如果它不同,那么我想更改单元格背景颜色.我尝试使用GridViewInfo,但它只占用屏幕上可见的列.但我想为所有列做.(不使用RowCellStyle)你有解决方案吗?谢谢!
这与DevExpess XtraGrid的GridView有关.
我需要drilldown plus icon (+)从GridView中的任何MasterRow中删除它没有任何数据的ChildRow.
目前,我的GridView中的所有行(MasterRows)都显示了drilldown plus icon (+).当drilldown plus icon (+)被点击,ChildRow显示有相应的数据.但是,如果ChildRow没有数据,则不显示(扩展)ChildRow.我需要使drilldown plus icon (+)隐形,以便用户在ChildRow中没有数据时看不到它.
我有一个函数来检查ChildRow是否有数据可用,然后允许ChildRow显示(展开)或不显示.
我已经使用GridView.OptionsView.ShowDetailButtons但隐藏了drilldown plus icons (+)所有行.这对我不起作用,因为如果没有ChildRow的数据,我只需要隐藏它.
这是我到目前为止的代码:
private void gridView1_MasterRowGetRelationCount(object sender, MasterRowGetRelationCountEventArgs e)
{
e.RelationCount = 1;
}
private void gridView1_MasterRowEmpty(object sender, MasterRowEmptyEventArgs e)
{
e.IsEmpty = IsRelationEmpty(e.RowHandle, e.RelationIndex);
}
bool IsRelationEmpty(int rowHandleX, int relationIndex)
{
Tuple<string, double, double> row = (Tuple<string, double, double>)gridView1.GetRow(rowHandleX);
return rowHandleX == DevExpress.XtraGrid.GridControl.InvalidRowHandle || _tfs._dataDictionary[row.Item1.ToString()].Item2.Count == 0;
} …Run Code Online (Sandbox Code Playgroud) xtragrid ×10
devexpress ×9
c# ×5
winforms ×4
.net ×1
checkbox ×1
data-binding ×1
grid ×1
gridview ×1