مشاهده نسخه کامل
: DataTable_DataGridView
با سلام
من برای پر کردن دیتا گرید از یه دیتا تیبل استفاده می کنم. به این صورت که دیتا تیبل رو پر کرده و به شکل زیر عمل میکنم.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
می خوام هنگام اجرا یکی از ستون ها دیده نشود.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ولی با خطا مواجه می شوم.چراکه هنگام لود شدن فرم دیتا گرید توسط دیتا تیبل پر می شه و من قبل از آن نمی تونم به ستون های گرید دسترسی داشته باشم.
می شه کار دیگه ای کرد؟
با تشکر
Open-Source
17-05-2010, 10:38
تکه کدت رو به همراه اون خطا اینجا بزار تا یه نگاهی بندازیم.
تکه کدت رو به همراه اون خطا اینجا بزار تا یه نگاهی بندازیم.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و خطای مذکور به شرح ذیل می باشد.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام.
من کد شما رو به شکل زیر تغییر دادم جواب گرفتم.
مشکل خطای شما اینه که Column یی که بهش دادین موجود نیست.یعنی اون اسمی که دادین حتماً باید وجود داشته باشه وگرنه خطا میده:
DataRow dRow2;
DataTable MyTable = new DataTable();
string[] arrstrFunctionalArea = new string[5];
arrstrFunctionalArea[0] = "rowID";
arrstrFunctionalArea[1] = "origAddr";
arrstrFunctionalArea[2] = "destAdd";
arrstrFunctionalArea[3] = "time";
arrstrFunctionalArea[4] = "message";
for (int i = 0; i < 5; i++)
{
string str = arrstrFunctionalArea[i];
DataColumn dtCol = new DataColumn(str);
dtCol.DataType = System.Type.GetType("System.String");
dtCol.DefaultValue = "";
MyTable.Columns.Add(dtCol);
}
string s = "SELECT * FROM Receive";
//connect mconn = new connect();
//try
//{
// OleDbCommand sc = mconn.conn(s);
// OleDbDataReader myReader = sc.ExecuteReader();
// while (myReader.Read())
// {
// dRow2 = MyTable.NewRow();
// dRow2[rowID] = myReader["rowID"].ToString();
// dRow2[origAddr] = myReader["origAddr"].ToString();
// dRow2[destAdd] = myReader["destAdd"].ToString();
// dRow2[time] = myReader["time"].ToString();
// dRow2[message] = myReader["message"].ToString();
// MyTable.Rows.Add(dRow2);
// }
//}
//catch { }
dGReceive.DataSource = MyTable;
DataGridViewButtonColumn buttoncolumn = default(DataGridViewButtonColumn);
buttoncolumn = new DataGridViewButtonColumn();
buttoncolumn.HeaderText = "¦يںë§ë";
buttoncolumn.Name = "read";
buttoncolumn.Text = "¦يںë§ë پیںê کي¢ںى";
buttoncolumn.UseColumnTextForButtonValue = true;
buttoncolumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
buttoncolumn.FlatStyle = FlatStyle.Standard;
//buttoncolumn.CellTemplate.Style.BackColor = Color.Honeydew;
dGReceive.Columns.Add(buttoncolumn);
dGReceive.Columns["rowID"].Visible = false;
موفق باشید.
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.