,如果它是一個列有界的DataSource,你不能改變列的數據類型屬性。相反,您可以使用表達式初始值設定項在數據源中創建一個新列,以允許您將字符串列轉換爲長列。然後在網格中,您可以隱藏字符串列,並讓用戶只能看到使用表達式創建的列。
假設你有這樣
DataTable dt = new DataTable();
sqlAdapter.Fill(dt);
現在你可以添加使用表達式long類型的新列裝的DataTable那份字符串列的內容(我認爲每一個單行兌換長)
dt.Columns.Add("NewLongCol", typeof(long), "StringCol");
yourGrid.DataSource = dt;
最後網格的InitializeLayout事件處理程序隱藏字符串列,並在其位置上的長列的位置
private void yourGrid_InitializeLayout(object sender, InitializeLayoutEventArgs e)
{
UltraGridBand b = e.Layout.Bands[0];
int pos = b.Columns["StringCol"].Header.VisiblePosition;
b.Columns["StringCol"].Hidden = true;
b.Columns["NewLongCol"].Header.VisiblePosition = pos;
}
這很奇怪。你可以展示如何以及何時更改列數據類型?並告訴我們你正在使用什麼版本的Infragistics Ultragrid? – Steve
@Steve我更新了我的帖子。 – Cieja
但是這個列是一個綁定列嗎? – Steve