SELECT COLUMN_NAME FROM DBA_TAB_COLUMNS WHERE TABLE_NAME = '表名' ORDER BY COLUMN_ID查出表的列名
怎么动态绑定在datagridview 中的Combox数据源上
其中column.DataPropertyName、column.DisplayMember、column.ValueMember要填什么。
要的效果是在datagridview中combox可以选择表的列名
WinFormDataGridViewcombox
怎么动态绑定在datagridview 中的Combox数据源上
其中column.DataPropertyName、column.DisplayMember、column.ValueMember要填什么。
要的效果是在datagridview中combox可以选择表的列名
WinFormDataGridViewcombox
/// <summary>
/// ComboBox或CheckedListBox或DataGridViewComboBoxColumn绑定到数据源
/// </summary>
/// <param name="obj"> 要绑定数据源的控件 </param>
/// <param name="strValueColumn"> ValueMember属性要绑定的列名称 </param>
/// <param name="strTextColumn"> DisplayMember属性要绑定的列名称 </param>
/// <param name="strSql"> SQL查询语句 </param>
/// <param name="strTable"> 数据表的名称 </param>
public static void BindComboBox(Object obj, string strValueColumn, string strTextColumn, string strSql, string strTable)
//Component —替换—> Object
{
try
{
string strType = obj.GetType().ToString();
strType = strType.Substring(strType.LastIndexOf(".") + 1); //判断控件的类型
switch (strType)
{
case "ComboBox": ComboBox cbx = (ComboBox)obj;
cbx.BeginUpdate();
cbx.DataSource = DbHelperOleDb.Query(strSql, strTable).Tables[strTable];
cbx.DisplayMember = strTextColumn;
cbx.ValueMember = strValueColumn;
cbx.EndUpdate();
break; case "CheckedListBox": CheckedListBox clb = (CheckedListBox)obj;
clb.DataSource = DbHelperOleDb.Query(strSql, strTable).Tables[strTable];
clb.DisplayMember = strTextColumn;
clb.ValueMember = strValueColumn;
break; case "DataGridViewComboBoxColumn": DataGridViewComboBoxColumn dgvcbx = (DataGridViewComboBoxColumn)obj;
dgvcbx.DataSource = DbHelperOleDb.Query(strSql, strTable).Tables[strTable];
dgvcbx.DisplayMember = strTextColumn;
dgvcbx.ValueMember = strValueColumn;
break; case "DataGridViewComboBoxCell": DataGridViewComboBoxCell dgvcbc = (DataGridViewComboBoxCell)obj;
dgvcbc.DataSource = DbHelperOleDb.Query(strSql, strTable).Tables[strTable];
dgvcbc.DisplayMember = strTextColumn;
dgvcbc.ValueMember = strValueColumn;
break; default:
break;
}
}试试这个方法
column.DataPropertyName="COLUMN_ID";
column.DisplayMember="COLUMN_NAME";
column.ValueMember="COLUMN_ID";
string _sql=@"select name,id from syscolumns where id=......column.DataPropertyName="id";
column.DisplayMember="name";
column.ValueMember="id";
column.DisplayMember="name";
column.ValueMember="id";
[