gpt4 book ai didi

Infragistics Ultragrid 如何根据属性禁用行

转载 作者:行者123 更新时间:2023-12-04 19:13:01 26 4
gpt4 key购买 nike

我希望根据行中的 bool 同步属性禁用 Ultragrid 中的某些行。我想过两种不同的解决方案,但都没有成功。

1) 将 Sync 属性数据绑定(bind)到行的 Activation 属性。这可能吗?

2) 在网格的 InitializeRow 事件等事件中,找出 Sync 属性是什么,如果设置为 true,则禁用该行。此方法的工作原理是,如果将更多行添加到网格并随后保存网格,数据会自行重新排序,以使禁用的行不包含正确的数据。因此,我需要一种知道何时发生这种情况的方法,以便之后我可以再次检查并禁用正确的行。

private void ultraGrid1_InitializeRow(object sender, Infragistics.Win.UltraWinGrid.InitializeRowEventArgs e)
{
e.Row.Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
if (e.Row.Cells[grdBoundGrip.DisplayLayout.Bands[0].Columns["Sync"]].Value != null && (bool)e.Row.Cells[grdBoundGrip.DisplayLayout.Bands[0].Columns["Sync"]].Value)
e.Row.Activation = Infragistics.Win.UltraWinGrid.Activation.Disabled;
}

最佳答案

您也可以在自己的函数中编写它。我希望下面的解决方案可以帮助你。

创建一个窗体“test”..并在该窗体中拖放一个“ultragird”,如下所示。
enter image description here

创建一个表单加载函数“test_Load”..并尝试下面的代码..
您的同步“false”行被禁用..

   private void test_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Address", typeof(string));
dt.Columns.Add("Sync", typeof(string));
dt.Rows.Add(new object[] {"John","United States","False" });
dt.Rows.Add(new object[] { "Xing", "China", "True" });
dt.Rows.Add(new object[] { "Ram", "Nepal", "True" });
dt.Rows.Add(new object[] { "Germany", "Thomas", "False" });
dt.Rows.Add(new object[] { "Pedrik", "Russia", "True" });

ultraGrid1.DataSource = dt;
ultraGrid1.DataBind();

DisableRowsWithSyncOff(dt.Rows.Count);

}
private void DisableRowsWithSyncOff(int _rowcount)
{
for (int i = 0; i < _rowcount; i++)
{
if (!Convert.ToBoolean(ultraGrid1.Rows[i].Cells["Sync"].Value.ToString()))
{
ultraGrid1.Rows[i].Activation = Infragistics.Win.UltraWinGrid.Activation.Disabled;
}
}
}

关于Infragistics Ultragrid 如何根据属性禁用行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13257137/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com