当我单击sfGrid时,我想根据查询刷新radioButton。
网格在第一次加载时显示得很好。但是,当我在editablePage中调用重绘()时,我会得到一个空的sfGrid。
我尝试了.View.Refresh()并使用onNavigateTo的参数,但是失败了
如何刷新sfGrid..?
UserinfoModel
public void ReDraw(string rb_cond)
{
StringBuilder sb = new StringBuilder();
sb.AppendLine(" SELECT A.USER_ID, A.USER_NM, A.USER_POS ,A.PERMISS ,A.CONST_DT ,A.MODIFY_DT ,A.REMARK ,C.SYS_NM ");
sb.AppendLine(" FROM USER_INFO A ");
sb.AppendLine(" LEFT OUTER JOIN CHARGE_PRJT B ON A.USER_ID = B.USER_ID ");
sb.AppendLine(" LEFT OUTER JOIN SYS_INFO C ON C.SYS_ID = B.SYS_ID ");
sb.AppendLine(" WHERE 1=1 ");
if (rb_cond == "now")
{
sb.AppendLine(" AND A.USE_YN = 'Y' ");
}
else if (rb_cond == "del")
{
sb.AppendLine(" AND A.USE_YN = 'N' ");
}
//AppInstance.Ins.dbHelper.BeginTransaction();
_dt = AppInstance.Ins.dbHelper.GetDataTable(sb.ToString(), false);
SetDataSource(_dt);
}。
public void SetDataSource(DataTable dt)
{
if (ItemsCollection != null)
ItemsCollection.Clear();
ObservableCollection<FunctionDataGridModel> result = new ObservableCollection<FunctionDataGridModel>();
foreach (System.Data.DataRow dr in dt.Rows)
{
FunctionDataGridModel rootModel = new FunctionDataGridModel();
rootModel.id = dr["USER_ID"].ToString();
rootModel.name = dr["USER_NM"].ToString();
rootModel.group = dr["USER_POS"].ToString();
rootModel.permiss = dr["PERMISS"].ToString();
rootModel.project = dr["SYS_NM"].ToString();
rootModel.startDT = dr["CONST_DT"].ToString();
rootModel.endDt = dr["MODIFY_DT"].ToString();
rootModel.remark = dr["REMARK"].ToString();
rootModel.Item = rootModel;
result.Add(rootModel);
//AppInstance.Ins.dbHelper.Update(_dt);
}
this.ItemsCollection = result;
}EidtablePage
private void NowUser_Checked(object sender, RoutedEventArgs e)
{
string con = "now";
UserinfoModel model = (DataGridFrame.Content as Userinfo.userinfo01).DataContext as UserinfoModel;
model.ReDraw(con);
}发布于 2022-06-06 15:24:17
我们怀疑您在更改用ItemsSource中的ItemsSource属性绑定的Source时需要更改网格的ItemsSource。
您可以通过使用INotifyPropertyChanged实现底层可观察集合属性来实现这一点。请参考下面的代码片段,
public class ViewModel : INotifyPropertyChanged
{
private ObservableCollection<OrderInfo> _orders;
public ObservableCollection<OrderInfo> ItemsCollection
{
get { return _orders; }
set
{
_orders = value;
OnPropertyChanged("ItemsCollection");
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
public ViewModel()
{
_orders = new ObservableCollection<OrderInfo>();
}
}https://stackoverflow.com/questions/72485154
复制相似问题