الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف أغير قيمة عامود معين في قريدفيو من جدول اخر

بدأه She في 17 يونيو 2012 · 10 رد · 687 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله

لدي سؤال فضلا

لدي قريدفيو قيمها مأخوذه من جدول واحد ما عدا عامودواحد قيمته تعتمد على جدول اخر في قاعدة بيانات اخرى

حيث أنه لدي المدية فخزنة في الجول الأول على شكر أرقام وأنا أريدها تظهر على شكل أسماء لذلك أظطر الى أن أخذ الرقم وأخرج الأسم من الجدول الثاني

كيف أعمل هذا في القريد فيو

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
    onselectedindexchanged="GridView1_SelectedIndexChanged"  
onrowdatabound="GridView1_RowDataBound"

 CellPadding="4" 
        EnableModelValidation="True" 
        GridLines="Horizontal" 
        Width="593px" BackColor="White" BorderColor="#336666" BorderStyle="Double" 
        BorderWidth="3px" AllowPaging="True" PageSize="8" onpageindexchanging="GridView1_PageIndexChanging"

        >
<Columns >   

<asp:BoundField DataField="City" HeaderText=" مكان الميلاد" ItemStyle-HorizontalAlign="Center">
<ItemStyle HorizontalAlign="Center"></ItemStyle>
    </asp:BoundField>


    <asp:BoundField DataField="SocialStatues" HeaderText=" الحالة الإجتماعية" ItemStyle-HorizontalAlign="Center">
<ItemStyle HorizontalAlign="Center"></ItemStyle>
    </asp:BoundField>

    <asp:BoundField DataField="Name" HeaderText="الاسم" ItemStyle-HorizontalAlign="Center">
<ItemStyle HorizontalAlign="Center"></ItemStyle>
    </asp:BoundField>
<asp:BoundField DataField="InfoID" HeaderText=" التسلسل" ItemStyle-HorizontalAlign="Center" > 
<ItemStyle HorizontalAlign="Center"></ItemStyle>
    </asp:BoundField>



</Columns>

        <FooterStyle BackColor="White" ForeColor="#333333" />

    <HeaderStyle BackColor="#3E7FA2" Font-Bold="True" ForeColor="White" />
        <PagerSettings Mode="NextPrevious" NextPageImageUrl="~/img/16_next.png" 
            PreviousPageImageUrl="~/img/16_previous.png" PreviousPageText="التالي" />
    <PagerStyle BackColor="White" ForeColor="White" HorizontalAlign="Center" />
        <RowStyle BackColor="White" ForeColor="#333333" />
    <SelectedRowStyle BackColor="#339966" Font-Bold="True" ForeColor="White" />


</asp:GridView>

C#

        private void bindGridView()
        {
            SqlConnection myConnection;
            SqlCommand myCommand;
            SqlDataAdapter myAdapter;
            DataTable myTable;

            SqlCommand cmd;
            SqlDataReader rdr;

            myConnection = new SqlConnection();
            myConnection.ConnectionString = ConfigurationManager.AppSettings["ConnectionString"].ToString();

            myCommand = new SqlCommand();
           myCommand.CommandText = "SELECT * FROM Info ";


            myCommand.CommandType = CommandType.Text;
            myCommand.Connection = myConnection;

            myTable = new DataTable();
            myAdapter = new SqlDataAdapter();
            myAdapter.SelectCommand = myCommand;
            myAdapter.Fill(myTable);
            for (int i = 0; i < myTable.Rows.Count; i++)
            {
                string CID = myTable.Rows["City"].ToString();

                SqlConnection myConnection2 = new SqlConnection();
                myConnection2.ConnectionString = ConfigurationManager.AppSettings["ConnectionString2"].ToString();

                cmd = new SqlCommand();
                myConnection2.Open();
                cmd.CommandText = " select cityNAME from city WHERE city_ID  =' " + CID.ToString() + "' ";
                cmd.Connection = myConnection2;

                rdr = cmd.ExecuteReader();
                bool temp;
                temp = false;
                while (rdr.Read())
                {
                    string city = ((rdr[0] != DBNull.Value) ? rdr.GetString(0) : "");

                    //??


                    temp = true;

                }
                myConnection2.Close();

            }

            GridView1.DataSource = myTable.DefaultView;
            GridView1.DataBind();

            myAdapter.Dispose();
            myCommand.Dispose();
            myConnection.Dispose();
        }

شكرا جزيلا لكم

اللهم ما اصبح /امسى بي من نعمة أو بأحد من خلقك فمنك وحدك لا شريك لك فلك الحمد ولك الشكر

#3

شكرًا جزيلا على إجابتك

اخي الفاضل

في السطر

String CID= myTable.Rows [city[

استطعت ان اخذ القيمة id الموجودة في الجدول الاول

هل من طريقة ادخل القيمة الجديدة وهي اسم المدينة المأخوذ من الجدول الثاني في الدتابيس

واضعها محل id في myTable الذي هو عبارة عن datatable

وشكرا مقدما

اللهم ما اصبح /امسى بي من نعمة أو بأحد من خلقك فمنك وحدك لا شريك لك فلك الحمد ولك الشكر

#4

ممكن ترفق الكود او تزضح اكثر

#5

شكرا لك

أرفقت المشروع

SASForm.rar

اللهم ما اصبح /امسى بي من نعمة أو بأحد من خلقك فمنك وحدك لا شريك لك فلك الحمد ولك الشكر

#6

تم تعديل المرفق

SASFormUpdate.rar

#7

شكرًا. جزيلا

سأجربه

اللهم ما اصبح /امسى بي من نعمة أو بأحد من خلقك فمنك وحدك لا شريك لك فلك الحمد ولك الشكر

#8

ليس هذا ما أريده

شكرا لك

وجدت الحل

إضافة عامود جديد في الداتاتيبل myTable

myTable.Columns.Add("newColunmCity", typeof(String));

ثم أعطيها القيمة التي حصلت عليها من جدول الاخر

myTable.Rows["newColunmCity"] = rdr.GetString(0);

شكرا لجهودك معي

اللهم ما اصبح /امسى بي من نعمة أو بأحد من خلقك فمنك وحدك لا شريك لك فلك الحمد ولك الشكر

#9

لماذا لا تقوم بعمل inner join بين الجدولين أو تعديل الاستعلام لاسترجاع البيانات واسم المدينة باستعلام واحد ؟

الاستعلام يصبح بالنموذج التالي :

select t1.item1,t1.item2,t2.CityName
from Table1 t1 , Table2 t2
where t1.CityID=t2.CityID

وبعدها تسند نتيجة الاستعلام لـ GridView باستخدام SQLDataSource أو بالكود

#10

شكرا khuloud

المشكلة أن كل واحد من الجداول موجود في داتابيس مستقلة وبالتالي كل واحد له كونكشنسترنق مختلفة

ان كان هناك طريقة لعمل join لهما فأكون شاكرة لو أخبرتني

شكرا مرة اخرى

اللهم ما اصبح /امسى بي من نعمة أو بأحد من خلقك فمنك وحدك لا شريك لك فلك الحمد ولك الشكر

#11

أتمنى أن تجد تفاصيل الإجابة في الرابط التالي :

الرابط الخاص بي

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…