الوصول إلى البيانات صف في Telerik RadGrid (خادم الجانب)

StackOverflow https://stackoverflow.com/questions/422783

  •  05-07-2019
  •  | 
  •  

سؤال

وإيف أي مشاكل في استخدام جافا سكريبت لقراءة الصفوف من telerik radgrid ايم مكون باستخدام لكن يمكنني العثور على ما يبدو على أي حال للوصول إلى جانب الملقم بيانات الصف عندما يحدث إعادة النشر. قضى إيف الأعمار تبحث عن حل ولكن لم الحظ. ومن شأن أي مؤشرات سيتم تقدير كبير.

وتوني

هل كانت مفيدة؟

المحلول

وأنت قد ترغب في النظر في DataKeyValues الملكية الكائن OwnerTableView، والتي سوف تتيح لك الوصول إلى مجموعة من القيم التي تمثل الحقول في صف معين. أنا استخدامها خلال معالج الحدث EditCommand، منذ يتم توجيه المستخدم من موقعي إلى صفحة تحرير إذا كانوا انقر على الرابط لتحرير صف في الشبكة، وأنا بحاجة لتمرير معلومات معينة عن صف معين في الاستعلام السلسلة.

إذا هذا تبين أن ما تحتاج إليه، سوف تحتاج أيضا إلى تحديد الحقول التي ينبغي توفيرها من خلال هذه الخاصية. للقيام بذلك، أن ننظر في الممتلكات MasterTableView.DataKeyNames في صفحة خصائص الشبكة. تحدده أساسا قائمة بفواصل من أسماء الحقول.

نصائح أخرى

وأنا استخدم الشبكة Telerik من بعض الوقت وجدت هذه المقالات في مستندات إزاء كيفية جلب البيانات من الخادم الصفوف المحددة أو العميل:

من جانب الخادم من جانب العميل

ونتمنى أن تجدها مفيدة.

وديك

وومن جانب الخادم هو الجزء السهل:

GridItemCollection gridRows = TestGrid.Items;
foreach (GridDataItem data in gridRows)
{
    ItemClass obj = (ItemClass)data.DataItem;
}

وانها جزء العميل أنني لا أعرف! : [

private Int32 GetID()
{
    foreach (Telerik.Web.UI.GridDataItem dataItem in radGrid.MasterTableView.Items)
    {
        if (dataItem.Selected == true)
        {
            Int32 ID = (Int32)dataItem.GetDataKeyValue("ID");
            return ID;
        }
    }
    throw new ArgumentNullException("Id Not found");
}
private Int32 GetID()
{
    foreach (Telerik.Web.UI.GridDataItem dataItem in radGrid.MasterTableView.Items)
    {
        if (dataItem.Selected == true)
        {
           // Int32 ID = (Int32)dataItem.GetDataKeyValue("ID");
Int32 ID =Convert.ToInt32(dataItem.GetDataKeyValue("ID"));
            return ID;
        }
    }

}
//this will work

وهذا هو الذي يعمل بالنسبة لي ويستخدم مجموعة RadGrid.SelectedItems.

protected void LinkButton1_Click(object sender, EventArgs e)
    {
        List<Guid> OrderIdList = new List<Guid>();

        foreach (GridDataItem OrderItem in this.RadGrid1.SelectedItems)
        {
            OrderIdList.Add(new Guid(OrderItem.GetDataKeyValue("OrderId").ToString()));
        }
    }

إذا قمت بإنشائه عناصر التحكم في العلامات أو الحرف الأول الصفحة لعناصر ديناميكية بشكل صحيح، ثم سوف RadGrid استعادة الدولة بشكل صحيح.

ويمكنك الوصول إلى القيم الأولية التي تم تحميلها من مصدر البيانات مثل هذا المثال أدناه، شريطة أن قال لعرض جدول المعنية للحفاظ على الأعمدة حولها في مفاتيح البيانات.

protected T GetInitialGridData<T>(GridDataItem item, string uniqueColumnName) {
   item.ThrowIfNull("item");
   uniqueColumnName.ThrowIfNullOrEmpty("uniqueColumnName");

   return (T)item.OwnerTableView.DataKeyValues(gridItem.ItemIndex)(columnName);
}

إذا كنت تستخدم عمود قالب مخصص الحيوية، وتحتاج إلى الحصول على أية قيم التي قد تكون الآن في ولاياتهم، يمكنك استخدام:

protected string GetCustomTextBoxValue(GridDataItem item, string controlID) {
   item.ThrowIfNull("item");
   controlID.ThrowIfNullOrTrimmedEmpty("controlID");

   return ((TextBox)item.FindControl(controlID)).Text;
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top