#region
|
|
using System;
|
using System.Data;
|
using System.Windows.Forms;
|
using CSFrameworkV5.Common;
|
|
#endregion
|
|
namespace CSFrameworkV5.Library.CommonClass
|
{
|
/// <summary>
|
/// frmBaseDataForm类中的SetEditorBindingValue方法。
|
/// </summary>
|
public class EditorBinding
|
{
|
/// <summary>
|
/// 给输入控件绑定的数据源赋值
|
/// </summary>
|
/// <param name="bindingControl">输入控件</param>
|
/// <param name="value">值</param>
|
public static void SetEditorBindingValue(Control bindingControl,
|
object value)
|
{
|
SetEditorBindingValue(bindingControl, value, false);
|
}
|
|
/// <summary>
|
/// 给输入控件绑定的数据源赋值.
|
/// </summary>
|
/// <param name="bindingControl">输入控件</param>
|
/// <param name="value">值</param>
|
/// <param name="setEditorValue">是否给控件的EditValue属性赋值</param>
|
public static void SetEditorBindingValue(Control bindingControl,
|
object value, bool setEditorValue)
|
{
|
try
|
{
|
object temp = null;
|
if (value != DBNull.Value) temp = value;
|
|
if (bindingControl.DataBindings.Count > 0)
|
{
|
var dataSource = bindingControl.DataBindings[0].DataSource;
|
var field = bindingControl.DataBindings[0].BindingMemberInfo
|
.BindingField;
|
if (dataSource is DataTable) //数据源
|
(dataSource as DataTable).Rows[0][field] =
|
value; //给数据源对应的字段赋值
|
else
|
DataConverter.SetValueOfObject(dataSource, field,
|
value);
|
}
|
|
if (setEditorValue)
|
DataConverter.SetValueOfObject(bindingControl, "EditValue",
|
value);
|
|
bindingControl.Refresh();
|
}
|
catch
|
{
|
} //这里不用显示异常信息.
|
}
|
}
|
}
|