我想將文本框綁定到包含一行的數據表。但我希望文本框綁定到4列的連接。綁定多個數據表列到一個多行文本框
我不確定在綁定過程中是否可以不做。
這下面一個工作正常,但我想也「SHIP_ADDRESS1」連接到我的多行文本框。
shipToTextbox.DataBindings.Add("Text",dataTbl, "SHIP_TO");
有沒有辦法在綁定過程中做到這一點?
編輯:
我添加了一個擴展方法的數據表如下:
public static DataTable Concatenates(this DataTable datatable, string columnName, params string[] columns)
{
var column = new DataColumn(columnName, typeof(String));
datatable.Columns.Add(column);
var concatenation = string.Empty;
foreach (var c in columns)
{
if (string.IsNullOrEmpty(concatenation))
{
concatenation = datatable.Rows[0][c].ToString().Trim();
}
else
{
concatenation = concatenation + Environment.NewLine + datatable.Rows[0][c].ToString().Trim();
}
}
datatable.Rows[0][column] = concatenation;
return datatable;
}
,我稱之爲如下:
shipToTextbox.DataBindings.Add("Text", dt.Concatenates("SHIP", "SHIP_TO", "SHIP_ADDRESS1", "SHIP_ADDRESS2", "SHIP_ADDRESS3"), "SHIP");
它是一個可以接受的解決方案?有沒有辦法使用LINQ以更好的方式編寫Concatenate擴展方法?
如果可能,創建一個自定義公共屬性,該屬性將返回串聯的字符串。然後綁定該屬性。 – mshsayem
您不能添加一個計算列到包含此表達式的表中:'col.Expression =「SHIP_TO - SHIP_ADDRESS1 - SHIP_ADDRESS2 ...」 '? –
數據來自多個應用程序使用的視圖,我不想更改它。在這種情況下,我假設我將不得不在DataTable級別執行 – ehh