PDA

View Full Version : کمک: مشکل در استفاده از DataGrid



soosan
چهارشنبه 02 آذر 1384, 16:05 عصر
DataGridمن فقط شامل سه ستون از ستونهای DataSourceخود است وستونهای دیکر DataSet مجبورند توسط دو TextBoxپر شوند . بنابراین من آن دو ستون را می خواهم وقتی که یک سطر جدید در DataGrid در حال پر شدن است پر کنم .این کد را نوشته ام :

private void dataGrid1_CurrentCellChanged(object sender, System.EventArgs e)
{
try
{
int colNum;
int rowNum;
colNum = dataGrid1.CurrentCell.ColumnNumber;
rowNum = dataGrid1.CurrentCell.RowNumber;
//fill 2 columns of dataset
int cod1,cod2;
cod1=Int32 .Parse (textBox2.Text );
dataSet31 .factor .NewRow ();
* dataSet31 .factor [rowNum ].proje_code=cod1;
cod2=Int32 .Parse (textBox1.Text );
dataSet31 .factor [rowNum ].hazineh_code=cod2;
}
catch(Exception ex)
{
MessageBox .Show (ex.Message );
}

}
But in execution time when I click on forth row and it receives to the marked line with star this error message appears :
there is no row in position 4

اَرژنگ
چهارشنبه 02 آذر 1384, 18:28 عصر
dataSet31 .factor .NewRow
یک Row جدید اضافه میکنه.
اگر میخواهید ستون اضآفه کنید باید به DataTable.Columns اضافه کنید.
َگر بگید چکار میخواهید بکنید من باتون یک مثاله ساده میفرستم.

soosan
پنج شنبه 03 آذر 1384, 10:14 صبح
من می خوام که DataGrid که فقط شامل 3 ستون از ستون های DataSet.Table است پر شود و 2 ستون دیگر توسط 2 TexBox پر شوند . که البته این 2 ستون دیگر 2 فیلد از کلید اصلی هستند . به همین خاطر من در currentCellChanged event 2 ستون دیگر را پر کرده ام . ولی مشکلی که قبلا گفتم را دارد .
می خوام که کاربر با زدن کلید تایید اطلاعات جدیدی که در dataGrid وارد کرده را در پایگاه داده وارد کند که 2 فیلد از کلید اصلی از طریق 2textbox ای که کاربر پر کرده برای سطرهای جدید وارد شود .
من الان این خطا رو وقتی که یک سطر جدید در DataGrid را پر میکنم دریافت میکنم :
Column 'proje_code' does not allow nulls Do you want to correct the value?
بعد از این پیام سطر جدیدی که وارد کرده ام پاک میشود .
اگر لطف کنید و کدی که این کار رو انجام بده برای من بنویسید کمک بزرگی به من کردید .