13-02-19, 01:12 AM
(آخر تعديل لهذه المشاركة : 13-02-19, 06:04 AM {2} بواسطة Rabeea Qbaha.)
السلام عليكم
اريد الانتقال من vb.net الى #C لتوسعة المعرفة
لدي خطئ لم افهمة ومحتاج مساعدة
انا استخدم هذا الكود لجلب البيانات الى datagridview مع نظام الصفحات
كود ال VB.net :
لدي خطئ لم افهمة ومحتاج مساعدة
انا استخدم هذا الكود لجلب البيانات الى datagridview مع نظام الصفحات
كود ال VB.net :
PHP كود :
Dim Filter As Integer
Dim DataAdapter As OleDbDataAdapter
Dim dt As DataTable = New DataTable
Dim R_count As Integer
Public Sub MASROFLOD()
Filter = 0
If Conn.State = ConnectionState.Closed Then
Conn.Open()
End If
SQLMSROF = "SELECT * FROM TB1"
DatasatMASROF.Clear()
dt.Rows.Clear()
DataAdapter = New OleDbDataAdapter(SQLMSROF, Conn)
DataAdapter.Fill(DatasatMASROF, Filter, 10, "TB1")
DataAdapter.Fill(dt)
R_count = dt.Rows.Count
Conn.Close()
GV.DataSource = DatasatMASROF
GV.DataMember = "TB1"
GV.Refresh()
GV.Columns(0).Visible = False
GV.Columns(1).HeaderText = "المصروف"
GV.Columns(2).HeaderText = "المبلغ"
GV.Columns(3).HeaderText = "ملاحظة"
GV.Columns(4).HeaderText = "قام بصرف"
GV.Columns(5).HeaderText = "تاريخ الصرف"
End Sub
Private Sub prev_Click(sender As Object, e As EventArgs) Handles prev.Click
Filter = Filter - 10
If Filter <= 0 Then
Filter = 0
End If
DatasatMASROF.Clear()
DataAdapter.Fill(DatasatMASROF, Filter, 10, "TB1")
End Sub
Private Sub nxt_Click(sender As Object, e As EventArgs) Handles nxt.Click
' next button
If (R_count - (Filter + 10)) <= 0 Then
Return
End If
Filter = Filter + 10
DatasatMASROF.Clear()
DataAdapter.Fill(DatasatMASROF, Filter, 10, "TB1")
End Sub
قمت بتحويل الكود السابق والذي يعمل جيدا في بيئة vb.net الى #C
وهذا هو الناتج :
وهذا هو الناتج :
PHP كود :
string query_1;
DataSet ds = new DataSet();
int Filter;
OleDbDataAdapter DataAdapter;
DataTable dt = new DataTable();
int R_count;
private void ShowGV()
{
Filter = 0;
if (con.con.State== ConnectionState.Closed)
{
con.con.Open();
}
query_1 = "select * from TB1";
ds.Clear();
dt.Rows.Clear();
DataAdapter = new OleDbDataAdapter(query_1 , con.con);
DataAdapter.Fill(ds, Filter, 10, "TB1");
DataAdapter.Fill(dt);
R_count = dt.Rows.Count;
con.con.Close();
GV.DataSource = dt;
GV.DataMember = "TB1";
GV.Refresh();
GV.Columns[0].Visible = false;
GV.Columns[1].HeaderText = "الاسم";
GV.Columns[2].HeaderText = "العمر";
GV.Columns[3].HeaderText = "رقم الهاتف";
GV.Columns[4].HeaderText = "تاريخ الاضافة";
GV.Columns[4].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
}
private void button4_Click(object sender, EventArgs e)
{
// Next button
if ((R_count - (Filter + 10)) <= 0)
{
return;
}
Filter = Filter + 10;
ds.Clear();
DataAdapter.Fill(ds, Filter, 10, "TB1");
}
private void button5_Click(object sender, EventArgs e)
{
// previous button
Filter = Filter - 10;
if (Filter <= 0)
{
Filter = 0;
}
ds.Clear();
DataAdapter.Fill(ds, Filter, 10, "TB1");
}
لكن اواجة مشكلة في هذا السطر في كود ال #C :
كود :
GV.DataMember = "TB1";
والخطا هو :
إقتباس :Additional information: Child list for field TB1 cannot be created.
هل من مساعدة وشكرا