mahyar501
چهارشنبه 13 دی 1396, 14:34 عصر
درود بر شما
من برای اضافه کردن اطلاعات یک آرایه به کومبو کد زیر رو نوشتم:
DataTable tbRoles = new DataTable(); tbRoles.Columns.Add("Text", Type.GetType("System.String"));
tbRoles.Columns.Add("Value", Type.GetType("System.Int32"));
for (i = 0; i < role_.Length / RoleCol; i++)
{
DataRow row = tbRoles.NewRow();
row["Text"] = role_[i, 1].ToString();
row["Value"] = role_[i, 0].ToString();
tbRoles.Rows.Add(row);
}
cboRoles.DisplayMember = "Text";
cboRoles.ValueMember = "Value";
cboRoles.DataSource = tbRoles;
اگر آرایه role_ بیش از یک سطر داشته باشه، اطلاعات درست نمایش داده میشه. ولی اگه آرایه یک سطری باشه، داخل کومبو به جای مقادیر می نویسه:
System.Data.DataRowView
ضمناً اگه کد رو به اینصورت تغییر بدم:
DataTable tbRoles = new DataTable();
tbRoles.Columns.Add("Text", Type.GetType("System.String"));
tbRoles.Columns.Add("Value", Type.GetType("System.Int32"));
for (i = 0; i < role_.Length / RoleCol; i++)
{
DataRow row = tbRoles.NewRow();
row["Text"] = role_[i, 1].ToString();
row["Value"] = role_[i, 0].ToString();
tbRoles.Rows.Add(row);
}
cboRoles.DataSource = tbRoles;
cboRoles.DisplayMember = "Text";
cboRoles.ValueMember = "Value";
فقط مقدار مربوط به ValueMember رو نشون میده.
حال سوال اینجاست که برای اینکه تو کد اول در کومبو باکس، وقتی که آرایه ی role_ تک سطری هست، خط زیر اضافه نشه چکار باید انجام بدم؟
System.Data.DataRowView
با سپاس
من برای اضافه کردن اطلاعات یک آرایه به کومبو کد زیر رو نوشتم:
DataTable tbRoles = new DataTable(); tbRoles.Columns.Add("Text", Type.GetType("System.String"));
tbRoles.Columns.Add("Value", Type.GetType("System.Int32"));
for (i = 0; i < role_.Length / RoleCol; i++)
{
DataRow row = tbRoles.NewRow();
row["Text"] = role_[i, 1].ToString();
row["Value"] = role_[i, 0].ToString();
tbRoles.Rows.Add(row);
}
cboRoles.DisplayMember = "Text";
cboRoles.ValueMember = "Value";
cboRoles.DataSource = tbRoles;
اگر آرایه role_ بیش از یک سطر داشته باشه، اطلاعات درست نمایش داده میشه. ولی اگه آرایه یک سطری باشه، داخل کومبو به جای مقادیر می نویسه:
System.Data.DataRowView
ضمناً اگه کد رو به اینصورت تغییر بدم:
DataTable tbRoles = new DataTable();
tbRoles.Columns.Add("Text", Type.GetType("System.String"));
tbRoles.Columns.Add("Value", Type.GetType("System.Int32"));
for (i = 0; i < role_.Length / RoleCol; i++)
{
DataRow row = tbRoles.NewRow();
row["Text"] = role_[i, 1].ToString();
row["Value"] = role_[i, 0].ToString();
tbRoles.Rows.Add(row);
}
cboRoles.DataSource = tbRoles;
cboRoles.DisplayMember = "Text";
cboRoles.ValueMember = "Value";
فقط مقدار مربوط به ValueMember رو نشون میده.
حال سوال اینجاست که برای اینکه تو کد اول در کومبو باکس، وقتی که آرایه ی role_ تک سطری هست، خط زیر اضافه نشه چکار باید انجام بدم؟
System.Data.DataRowView
با سپاس