请问大侠,在Xtragrid控件中,如何锁定选中行中某几个单元格,使其不能编辑。单元格可能包含控件(如果CheckEdit,ComboEdit)!
解决方案 »
- XML解析错误:未找到元素 位置:moz-nullprincipal:{0890c181-a73f-40c0-b59f-fd984c26dac0} 行:1,列
- c#如何修改外部程序textbox或combox的值
- c# textbox绑定数据问题
- 关于分割字符串,另外……
- 如何在c#中將查詢窗口WIN_ID參數傳到 其基類窗口的條件控鍵中去?
- 请高手帮忙:C#如何设定当鼠标移到lable控件上时出现下划线?
- DataGridTableStyle中MappingName的问题
- winform中的datagrid如何实现webform中的datagrid的多种操作功能??
- 是vs.net的bug,还是我程序有错?
- 我的CS(c#)项目中上传1M或以上的图片时速度很慢要一个多小时!
- 如何截取panel图片
- 求PDU短信解码代码?
void gridViewQuotation_ShowingEditor(object sender, CancelEventArgs e)
{
ColumnView view = sender as ColumnView;
ColumnView viewMain = view.GridControl.MainView as ColumnView;
if ((bool)viewMain.GetFocusedRowCellValue("Editable") == false ||
(bool)viewMain.GetFocusedRowCellValue("Complete") == true ||
ReadOnlyAccess == true)
view.FocusedColumn.OptionsColumn.ReadOnly = true;
else
view.FocusedColumn.OptionsColumn.ReadOnly = false; if (view.LevelName == "QuotationCost" &&
viewMain.GetFocusedRowCellValue("ProduceType").ToString() == "Manufactured" &&
ManufacturedDisableColumns.Contains(view.FocusedColumn.FieldName) == true)
e.Cancel = true;
}
第2个0 为你要选择的列的索引
假如有2行2列的Grid,第一列是ComboEdit类型的数据,第二列是TextEdit的可输入文本框。
ComboEdit的下拉选项是:可编辑,不可编辑两项当第一行的第一列选择:可编辑选项时, 第一行第二列的文本可编辑
当第二行的第一列选择:不可编辑选项时,第二行第二列的文本不可编辑因此,不能把第二列整列都锁定
在这里用的是XtraGrid控件,不是微软的控件!
没有发现SelectedRows这个集合;
private void gv_ShowingEditor(object sender, CancelEventArgs e)
{
if (gv.FocusedColumn.Name == "coldw")
{
int r = gv.FocusedRowHandle;
string dw0 = App_FuncClass.DataTableGetStr(dt, r, "dw0");
string dw1 = App_FuncClass.DataTableGetStr(dt, r, "dw1");
if (dw0.Length == 0)
{
e.Cancel = true;
}
else
{
cbodw.Items.Clear();
cbodw.Items.Add(dw0);
cbodw.Items.Add(dw1);
}
}
}设置Cancel=true就行了
我这个是当物料没选的时候,该行的单位列不可编辑,是combobox控件