PDA

View Full Version : سوال: System.Data.DataRowView



mahyar501
چهارشنبه 13 دی 1396, 13: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

با سپاس

mahyar501
پنج شنبه 14 دی 1396, 07:17 صبح
درود بر شما

من برای اضافه کردن اطلاعات یک آرایه به کومبو کد زیر رو نوشتم:
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

با سپاس

سوال پیچیده بود؟