0

我有一些奇怪的问题需要帮助。给定以下代码片段:

public partial class CliUpdate : Form
{       

    static DataRow cliRecord;
    static DataView cliView;

    public CliUpdate(DataRow dr)
    {
        InitializeComponent();
        cliRecord = dr;
        cliView = cliRecord.Table.DefaultView;          
        SetFieldValues();                       
    }               

    void SetFieldValues(){                  
        string recordid = cliRecord["recordid"].ToString();
        cliView.RowFilter = "recordid='" + recordid + "'";          
        tb_ClientName.DataBindings.Add("Text",cliView,"clientname");
        tb_basefolder.DataBindings.Add("Text",cliView,"basefolder");
        cb_CollectionOutput.DataBindings.Add("Text",cliView,"outputtype");
        nud_SmallBalance.DataBindings.Add("Value",cliView,"smallbalance");

在表单上,​​我有一个名为 tb_basefolder 的文本框。如果我实际上在文本框中键入了某些内容,则数据行字段会正确更新但是如果我通过设置 .Text 属性为文本框提供值,则该值不会在数据行上更新(即 tb_basefolder.Text = @"c:\测试";) 有人可以解释一下吗?我是否提供了足够的信息?

4

1 回答 1

1

这行得通吗?

   tb_basefolder.DataBindings.Add("Text",cliView,"basefolder",  false, DataSourceUpdateMode.OnPropertyChanged);

为什么你对 dataview 和 datarow 使用静态成员?

于 2013-07-17T20:12:04.833 回答