C# C:在动态填充组合框方法中添加“选择”项
我需要在索引0处添加Select,而不知道DataTable列的计数或名称,因为此方法将在DataAccessLayer中使用,并将在以后使用`C# C:在动态填充组合框方法中添加“选择”项,c#,methods,combobox,void,C#,Methods,Combobox,Void,我需要在索引0处添加Select,而不知道DataTable列的计数或名称,因为此方法将在DataAccessLayer中使用,并将在以后使用` // ComboBox Fill Method public static void ComboBoxFill(ComboBox cbo, string Query, string cboDisplayMember, string cboValueMember) { con.Open();
// ComboBox Fill Method
public static void ComboBoxFill(ComboBox cbo, string Query, string cboDisplayMember, string cboValueMember)
{
con.Open();
SqlCommand cmd = new SqlCommand(Query, con);
SqlDataReader dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);
cbo.DataSource = dt;
cbo.DisplayMember = cboDisplayMember;
cbo.ValueMember = cboValueMember;
cbo.SelectedIndex = 0;
con.Close();
}
只需将这一行放在ComboBoxFill函数中
public static void ComboBoxFill(ComboBox cbo, string Query, string cboDisplayMember, string cboValueMember)
{
con.Open();
SqlCommand cmd = new SqlCommand(Query, con);
SqlDataReader dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);
cbo.DataSource = dt;
DataRow newRow = dt.NewRow();
newRow[0] = "Select";
dt.Rows.InsertAt(newRow, 0);
cbo.DisplayMember = cboDisplayMember;
cbo.ValueMember = cboValueMember;
cbo.SelectedIndex = 0;
con.Close();
}
它将在位置0添加Select我已通过以下代码解决了此问题。 谢谢大家
public static void ComboBoxFill(ComboBox cbo, string Query, string cboDisplayMember, string cboValueMember)
{
con.Open();
SqlCommand cmd = new SqlCommand(Query, con);
SqlDataReader dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);
DataRow drow = dt.NewRow();
for (int i = 0; i < dt.Columns.Count ; i++)
{
if (dt.Columns[i].ColumnName == cboDisplayMember)
{
drow[i] = "Select";
}
else if (dt.Columns[i].ColumnName == cboValueMember)
{
drow[i] = 0;
}
else
{
drow[i] = null;
}
}
dt.Rows.InsertAt(drow, 0);
cbo.DataSource = dt;
cbo.DisplayMember = cboDisplayMember;
cbo.ValueMember = cboValueMember;
cbo.SelectedIndex = 0;
con.Close();
}
DataTable dt1=DataTablecbo.DataSource;int columns=dt.columns.Count;int rows=dt.rows.Count;声明后如何使用int列和行?您的帖子有点不清楚。我不确定您是询问如何选择组合框,还是询问如何更新/插入数据。所以我假设你想改变数据。更改数据的正确方法是修改DataTable。您还说您不知道列数或计数,所以我从cbo获得了列数和计数。谢谢,问题已经解决,我添加了解决方案错误:其他信息:当DataSource属性设置为Showing error时无法修改Items集合,因为未知的列名和列数。但是它已经被ForThanks解决了,它已经解决了,我已经添加了解决方案