将DataGridView选中行的值填充到符合命名规则的控件中[原创]
作者:lhxhappy
http://www.cnblogs.com/lhxhappy/archive/2008/11/21/1338069.html |
转载请注明出处
/// <summary>
/// 将DataGridView选中行的值填充到符合命名规则的控件中
/// Create by LHX
/// </summary>
/// <param name="dgv"></param>
/// <param name="control"></param>
public void SelectRowToFormControl(DataGridView dgv,Control.ControlCollection control)
{
//获取当前数据源表
DataTable dt = ((DataRowView)dgv.CurrentRow.DataBoundItem).Row.Table;
//获取当前选中行
DataRow dr = ((DataRowView)dgv.CurrentRow.DataBoundItem).Row;
//自动填充符合命名规则的控件值
foreach (DataColumn dc in dt.Columns)
{
foreach (Control cl in control)
{
if (cl.GetType() == typeof(TextBox))
{
//判断控件命名方式和字段名称是否一致,这里还可以根据命名规则扩展其他类型的控件并值定值
if (cl.Name == "txt" + dc.ColumnName)
{
cl.Text = dr[dc].ToString();
}
}
}
}
}
/// 将DataGridView选中行的值填充到符合命名规则的控件中
/// Create by LHX
/// </summary>
/// <param name="dgv"></param>
/// <param name="control"></param>
public void SelectRowToFormControl(DataGridView dgv,Control.ControlCollection control)
{
//获取当前数据源表
DataTable dt = ((DataRowView)dgv.CurrentRow.DataBoundItem).Row.Table;
//获取当前选中行
DataRow dr = ((DataRowView)dgv.CurrentRow.DataBoundItem).Row;
//自动填充符合命名规则的控件值
foreach (DataColumn dc in dt.Columns)
{
foreach (Control cl in control)
{
if (cl.GetType() == typeof(TextBox))
{
//判断控件命名方式和字段名称是否一致,这里还可以根据命名规则扩展其他类型的控件并值定值
if (cl.Name == "txt" + dc.ColumnName)
{
cl.Text = dr[dc].ToString();
}
}
}
}
}