Как привязать DataRow к GridView?

У меня есть один datatable с четырьмя или пятью столбцами. Я не знаю точно имя столбца и его количество. Но я хочу привязать первую строку таблицы данных к GridView. Как это сделать? Мне нужны все ваши предложения, пожалуйста.


person thevan    schedule 19.10.2011    source источник
comment
Какая у вас версия .net framework?   -  person kv-prajapati    schedule 19.10.2011
comment
@AVD: .Net Framework 3.5   -  person thevan    schedule 19.10.2011
comment
Используйте FormView или Detailsview вместо GridView.   -  person kv-prajapati    schedule 19.10.2011


Ответы (3)


Linq должен помочь здесь, чтобы получить первый элемент.

 var Temp = dt.AsEnumerable().Take(1).CopyToDataTable();
person Junaid    schedule 19.10.2011
comment
Не применимо.. так как дубль недоступен. - person sikender; 19.10.2011
comment
Можете попробовать dt.AsEnumerable().Take(1)? - person Junaid; 19.10.2011
comment
Ошибка: источник данных не поддерживает разбиение на страницы данных на стороне сервера. - person sikender; 19.10.2011
comment
Я использую var temp = dt.AsEnumerable().Take(1); в моем коде, а затем назначить его сетке, которая отлично работает. где именно вы получаете исключение? - person Junaid; 19.10.2011
comment
когда я привязываю этот темп к gridview. - person sikender; 19.10.2011
comment
var temp = dt.AsEnumerable().Take(1).CopyToDataTable() определенно должен работать - person Junaid; 19.10.2011
comment
@Sikender: как использовать это в цикле for? который используется для связывания ряд за рядом. - person thevan; 19.10.2011
comment
@thevan: зачем вам это в цикле, когда есть только одна строка? вы можете использовать событие GridView.RowDataBound для доступа к строкам - person Junaid; 19.10.2011
comment
@Junaid: На самом деле я делаю для создания отчета. Его функциональность заключается в том, чтобы привязать одну строку к gridview и распечатать так, как она будет продолжаться... - person thevan; 19.10.2011
comment
DataTable temp = новая DataTable(); for (int n = 0; n ‹ t1.Rows.Count; n++) temp = dt.AsEnumerable().Skip(n).Take(1).CopyToDataTable(); - person Junaid; 19.10.2011

используйте фильтр в datatable :

dt.Select("ID = 1");
person Royi Namir    schedule 19.10.2011
comment
Оператор select возвращает массив строк, к которым вы можете привязаться. В этом случае массив, как мы надеемся, будет содержать только одну запись. - person Steve Wellens; 19.10.2011

можно попробовать так..

    dt = new DataTable();          
    dt_Property.Columns.Add("Field1");
    int i = 0;
    DataRow row = null;
    foreach (DataRow r in ds.Tables[0].Rows)
    {               
            row = dt.NewRow();                    
            row["Field1"] = ds.Tables[0].Rows[i][1];
            dt_Property.Rows.Add(row);   
            i = i + 1;
    }

    dataGridView1.DataSource = dt;
person rockyashkumar    schedule 19.10.2011
comment
dt и dt_Property одинаковы или нет? - person thevan; 19.10.2011